Исходники здесь
Вот такие скомпилированные версии есть у меня.
Ниже данные устарели.
Репозиторий находится тут (открывать через SVN клиент)
Удобный просмотр репозитория через браузер тут
Скомпилированные версии тут Пароль к архиву: coderx.ru
Есть ли предложения по модернизации существующего кода с описанием как должно и что хотелось бы заменить/добавить?
Дополнительные компоненты брать тут. (<-- TPerlRegEx есть только там)
/upd:
для компиляции последних ревизий понадобятся JCL, JVCL (ссылки выше) а так же:
jwapi2.2a, SyntEdit, TRichView.v11.0+ScaleRichView.v2.0, TsiLang (letitbit / upload.com.ua)
Немного подправленный FastScript искать в файловом архиве.
Последний раз редактировалось NLObP, 17.10.2016 в 00:02.
И ? Получим на выходе _myfunction@16 какой нить...в то время как Дельфи использует просто myfunction. А так у нас будет экспортироваться нормальное myfunction как и в Дельфи.
есть предложение по модификации.
Неплохо было бы во вкладке "Просмотр", чтоб пакеты отправленные/измененные/вырезанные л2пх как то метились. При отладке скриптов было бы очень невредно.
Так же работа л2пх без инжекта как сокс прокси тоже бывает нелишним особенно на серверах со свякими защитами отлавливающими инжекты.
ratvier, майкрософт как то умудрилась весь свой API написать на С++ с соглашением stdcall, я собсно его сделал именно для совместимости с С++ и другими...
__________________
Я здесь практически не появляюсь!, Skype - ikskor
c++ и не должен экспортировать "нормальные" имена, кроме объявленных в extern c
Я по моему и не говорил что С++ должен экспортировать в "нормальном" виде. Я пытаюсь написать плугин шаблон DLL на С++ для использования с l2phx, чтобы народ незнающий Delphi меньше мучился (как я). Сейчас использую такую конструкцию:
в настройках проекта стоит
Calling Convention __cdecl (/Gd)
и функция GetPluginInfo(int ver) экспортируется как GetPluginInfo, если же поставить __stdcall то функция экспортируется как _GetPluginInfo@4
Собственно сейчас для меня два варианта.
1) Всё таки дописать шаблон на С++
2) Сделать DLL на Delphi как обёртку для DLL на С++
З.Ы. Второй вариант намного проще,...но это уже ИМХО какое то извращение
Последний раз редактировалось RoZ, 09.10.2008 в 13:17.
Причина: мысль... :)
На С++ свет клином не сошелся. И если он для себя приписывает число параметров в экспорт - то это его проблемы.
Я вот пишу плагины на асме.
В WinAPI используется stdcall и я думаю что и плагины к phx должны именно так передавать параметры. В итоге получим нормальные dll.
p.s. к чему это я... да, обращайся не по имени а по номеру функции....
Последний раз редактировалось dmitry501, 09.10.2008 в 13:57.
На С++ свет клином не сошелся. И если он для себя приписывает число параметров в экспорт - то это его проблемы.
Я вот пишу плагины на асме.
В WinAPI используется stdcall и я думаю что и плагины к phx должны именно так передавать параметры. В итоге получим нормальные dll.
p.s. к чему это я... да, обращайся не по имени а по номеру функции....
В том то и дело, в самом l2phx обращение идёт по имени. Что бы не плодить форки проекта под разных "программеров" хотелось бы унификации. Ладно сейчас попробую сделать через DEF альясами...посмотрим что получится из эксперимента... (*чувствую себя создателем Франкенштейна*)
Про stdcall предложение я снимаю, решение для С++:
Заходим в Properties->Linker->Input->Module Definition File = наш_файл.def
В самом файле
Код:
EXPORTS
GetPluginInfo=_GetPluginInfo@4
Цитата:
Сообщение от xkor
dmitry501, точно, сделаю обращение по номеру
ЗЗЫ ещёб найти как при динамическом подключении обращаться по номеру...
ЗЗЗЫ SVN теперь тут - http://l2phx.pp.ru/svn/l2phx3/
А какие выгоды из этого можно получить ? Кроме скорости обращения ?