Niech ktoś mi bez zbędnych komentarzy powie, jak z dll'a wywołać funckję albo procedurę z parametrem. Mam taką bibliotekę :
library biblioteka;
uses
Windows, Dialogs;
{$R *.RES}
procedure PokazKomunikat; stdcall;
begin
ShowMessage('wywołana');
end;
exports Pokazkomunikat name 'PokazKomunikat';
begin
end.
i jak próbuję ją wywołać tak jak nakazuje logika, czyli :
var
DLL : THandle;
PokazKomunikat: procedure;
begin
DLL := LoadLibrary('biblioteka.dll');
try
@PokazKomunikat := GetProcAddress(DLL, 'PokazKomunikat');
if @PokazKomunikat = nil then showmessage('Nie można blablabla.');
PokazKomunikat('blabla'); //<<-- <font color=red>tutaj błąd</font>
finally
FreeLibrary(DLL);
end;
end;
to się nie kompiluje - Too many actual parameters.
Tak więc podzielcie się swoją wiedzą. Wiedzę poprzyjcie jakimś małym przykładem.