Цитата:
Сообщение от 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;