Тема: L2PacketHack 3.5.x
Показать сообщение отдельно
Старый 06.10.2008, 21:07   #287
Пользователь
 
Регистрация: 28.06.2008
Сообщений: 33
Сказал Спасибо: 12
Имеет 15 спасибок в 8 сообщенях
RoZ пока неопределено
По умолчанию

Цитата:
Сообщение от xkor Посмотреть сообщение
воть, но структуры и функции на С++ сам переписывай.., мне пока не до этого...
Как я уже говорил в Дельфи не силён...посему не пинайте сильно если что не так.
Код:
function TPlugin.LoadInfo: Boolean;
begin
  ...
  Info:=String(GetPluginInfo(version));
  >>> GetPluginInfo возвращает указатель на строку
        и присваивает его нашей глобальной переменной Info.
  ...
  FreeLibrary(hLib);
  >>> уничтожаем библиотеку и заодно наш указатель на строку (на самом деле он продолжает висеть в памяти, так как DLL сделанная в Дельфи не освобождает переменные String пока счётчик использований не достигнет 0) 

  Result:=True;
end;
предлагаю внести небольшое изменение в функции TPlugin.LoadInfo и TPlugin.LoadPlugin
Код:
function TPlugin.LoadInfo: Boolean;
var
  tempString:PChar;
begin
...
tempString:=(GetPluginInfo(version));
Info:=tempString;
...
end;
Код:
function TPlugin.LoadPlugin: Boolean;
var
  tempString:PChar;
begin
...
tempString:=(GetPluginInfo(version));
Info:=tempString;
...
end;
RoZ вне форума   Ответить с цитированием