PDA

Просмотр полной версии : Проблема при подключении плагина.


Noise
15.03.2012, 21:18
В общем пытаюсь подключить plugin_demo2 (http://coderx.ru/showthread.php?t=890) плагин к пакетхаку, пакетхак злобно ругается:

http://i5.pixs.ru/storage/1/7/7/skrinjpg_7277668_4283177.jpg

Пытался так же подключать другие плагины из отсюда (http://l2ph.coderx.ru/wsvn/listing.php?repname=l2phx3&path=%2F&sc=1), все равно такая же фигня...
Что я делаю не так и как это можно исправить?

NLObP
15.03.2012, 22:44
Noise, у меня все плагины подключаются. Версия пакетхака последняя - 176.

PS: все плагины подключаются без ошибки. Плагин newxor.dll не подключился, но и ошибки не было.

PPS: в архиве fastmm.rar недостающие файлы для компиляции плагинов.

Noise
19.03.2012, 04:24
NLObP, у меня тоже 176 версия, fastmm я в нете качал, но и то что ты выложил тоже пробовал (все равно такая же ошибка).
Возможно ли что подобное происходит из-за D2010?
Или из-за того что пх запущен на виртуальной машине?


ЗЫ попробовал скомпилить в D7 вот результат:
http://i5.pixs.ru/storage/9/1/3/Screen2jpg_5955478_4313913.jpg
До конца перевести не смог, попробовал вернуть fastmm первым в блоке uses в итоге опять ругается на память,
но что еще более интересно пх теперь не вылетает, а в описании плагина пишет, что у меня старая версия пх xDDD


NLObP если не сложно скомпиль у себя какой нить плагин и выложи, мб у меня компилятся они как то не так?

Вот кстати скомпиленное мной... у тебя оно нормально будет работать?

Noise
19.03.2012, 09:11
Полазил в инете, понял что fastmm должен подключатся именно первым... но все равно тогда он просто выдает ошибку и не подключает плагин :(


В общем если отключить OnRefreshPrecompile все проходит без ошибок, но пх все равно пишет:
Демонстрационный Plugin к программе l2phx
Для версий 3.4.0+
У вас старая версия программы! Плагин не сможет корректно с ней работать!

Это нормально? При этом без коннекта клиента к серверу все подключается без ошибок, но как только идет попытка войти на сервер... все ппц та же ошибка...

supernewbie
19.03.2012, 09:33
Noise, и нахрена ты выложил длл? сорцы давай

Добавлено через 8 минут
хотя если у тебя пх старая, наверно в D7 скомпиленая

то пробуй в плагине string на ansistring поменять

Noise
19.03.2012, 18:37
Noise, и нахрена ты выложил длл? сорцы давай

в первом сообщении ссылка на них :) (то что демо плагин)
а длл выложил, чт бы кто нить мог проверить, мб проблема в компиляторе? или только у меня?


Добавлено через 8 минут
хотя если у тебя пх старая, наверно в D7 скомпиленая

у меня тоже 176 версия


то пробуй в плагине string на ansistring поменять
Ошибок при компиляции у меня нет!!!, косяки при подключении плагина.

supernewbie
19.03.2012, 22:59
Noise, причем тут ошибки при компиляции? у тебя типы разные в плагине и в пх

Noise
20.03.2012, 04:55
Noise, причем тут ошибки при компиляции? у тебя типы разные в плагине и в пх

О_о в каком месте они разные?
Как не старался, ну не смог я найти в плагине (http://coderx.ru/showthread.php?t=890) хотя бы одну переменную string, что бы по твоему совету поменять ее на ansistring :)

supernewbie
20.03.2012, 11:49
Noise, не свисти

Добавлено через 41 секунду
MethodName: String
var funcs: TStringArray

Добавлено через 2 минуты
хотя щас в xe2 скомпилил забив на стринги - ошибок нет, но имя конечно отобразилось неправильно

так что ты скорее всего сам че-то напортачил

Noise
20.03.2012, 12:49
Noise, не свисти

Добавлено через 41 секунду
MethodName: String
var funcs: TStringArray

Добавлено через 2 минуты
хотя щас в xe2 скомпилил забив на стринги - ошибок нет, но имя конечно отобразилось неправильно

так что ты скорее всего сам че-то напортачил

Ок убрал эти методы (судя по описанию они не обязательные), все равно та же херь...
Я же прощу попробуй скомпилить этот же демо плагин и выложить, хотя бы точно смогу убедиться что проблема именно у меня (ведь если у меня и твой плгин такую же фигню выдаст, то ... то я ваще хз че делать:))

supernewbie
20.03.2012, 14:13
там устарели плагины чтоли, пробуй как в этих сорцах

NLObP
20.03.2012, 21:52
Вот кстати скомпиленное мной... у тебя оно нормально будет работать?

Пакетхак падает с ошибкой.

Попробуй мой.

Noise
21.03.2012, 07:37
там устарели плагины чтоли, пробуй как в этих сорцах

Скорее всего да... скомпили твои сорцы все норм встало, никаких ошибок. Спасибо!

NLObP, Твой работает, спасибо.


Сейчас вот сижу, из-за чего ошибки были пытаюсь понять...
В общем проблема была в процедуре OnPacket как только ее убираю ошибки пропадают.
Подскажите пожалуйста как она правильно должны выглядеть, что бы не было ошибок.

Вот нашел тут (ссылка (http://l2ph.coderx.ru/arhive/l2ph_help/))
Но при попытке заблокировать чат:
if not FromServer and (pck[1]=#$38) then pck := '';
Клиент подвисает, пх опять ругается...
Прочитав эту тему (http://coderx.ru/showthread.php?t=9366&highlight=%EF%EB%E0%E3%E8%ED)
Пробовал сделать так (изменив при этом var pck: string на var pck: TPacket) :
if not FromServer and (pck.pckId=$38) then pck.size := 0;
Все равно фигня...

Добавлено через 2 часа 29 минут
У меня мозг плавится... как прочесть значение чата?
if not FromServer and (pck[1]=#$38) then
text := ps.ReadSEx(pck,3)
Не прокатывает :(

supernewbie
21.03.2012, 10:06
Noise, если у тебя D >= 2010, то все string и char меня на ansitring и ansichar епт

Добавлено через 1 минуту
PS ошибка была из-за:
в посте ксора:
function SetStruct(const struct: TPluginStruct): Boolean; stdcall;
а надо:
function SetStruct(const struct: PPluginStruct): Boolean; stdcall;

Добавлено через 4 минуты
кстати он пакет не юзай, он глючит

юзай OnCallMethod, он е*нуться реализован конечно но вроде робит нормал

Noise
21.03.2012, 10:50
Noise, если у тебя D >= 2010, то все string и char меня на ansitring и ansichar епт

Добавлено через 1 минуту
PS ошибка была из-за:
в посте ксора:
function SetStruct(const struct: TPluginStruct): Boolean; stdcall;
а надо:
function SetStruct(const struct: PPluginStruct): Boolean; stdcall;

Добавлено через 4 минуты
кстати он пакет не юзай, он глючит

юзай OnCallMethod, он е*нуться реализован конечно но вроде робит нормал

Последнее компилил уже в D7.
Ну тогда щас полезу смотреть что там за OnCallMethod.

Добавлено через 16 минут
К великому сожалению, то что я хочу сделать можно сделать только через OnPacket;
Буду признателен если кто нить подскажет как все таки получить значение чата.
if not FromServer and (pck[1]=#$38) then
text := ps.ReadSEx(pck,3)
Вот так не работает :(

Pinko
21.03.2012, 12:23
http://coderx.ru/showthread.php?t=2298&highlight=%F1%EA%F0%E8%EF%F2+%E3%EB%F3%F5%E8%F5

supernewbie
21.03.2012, 12:24
Noise, нифига, через onCallMethod можно сделать что угодно
см. http://coderx.ru/showthread.php?t=2415

Noise
21.03.2012, 12:46
http://coderx.ru/showthread.php?t=2298&highlight=%F1%EA%F0%E8%EF%F2+%E3%EB%F3%F5%E8%F5

Прочти тему полностью, а не только последнюю строчку, последнего сообщения. :)
Интересует как это сделать в методе OnPacket в плагине, а не в простом скрипте.


Noise, нифига, через onCallMethod можно сделать что угодно
см. http://coderx.ru/showthread.php?t=2415

В том то и дело, цель была сделать плагин без подключения скриптов, только не спрашивай почему :)

supernewbie
21.03.2012, 15:58
Noise, ну юзай он пакет но могут быть проблемы
и юзай там ps.ReadS(2)

Noise
21.03.2012, 23:35
Noise, ну юзай он пакет но могут быть проблемы
и юзай там ps.ReadS(2)

В ReadS передается 2 параметра первый сам пакет, второй индекс.
Хотя и так, и этак все равно не получается получить значение чата :(