Mam bibliotekę ładowaną dynamicznie:
procedure Tplugins.listaClick(Sender: TObject);
var
DLL : THandle; * uchwyt biblioteki
pluginit : function:string;
begin
DLL := LoadLibrary(PChar(pliki.strings[lista.itemindex])); * laduj biblioteke
try
@pluginit := GetProcAddress(DLL, 'pluginit'); * laduj procedure
if @pluginit = nil then raise Exception.Create('Plug''in jest uszkodzony.');
label1.caption:=pluginit; * wywolaj procedure
finally
FreeLibrary(DLL); * wreszcie zwolnij pamiec
open.Enabled:=true;
end;
end;
Biblioteka wygląda tak:
library plug;
uses
Windows, dialogs;
function pluginit:string; stdcall;
begin
showmessage('Przykladowa wtyczka');
result:='Przykladowa wtyczka';
end;
exports * eksportuj procedurę
pluginit name 'pluginit';
begin
end.
I teraz problem polega na tym, że funkcja się wykonuje, ale nie zwraca wartości :( Wiecie może o co tu chodzi?---------------------------
Delphi 6
Pozdrówka