Witam.
Napisałem sobie taką oto dll'ke:
library Hash;
uses
DCPcrypt2, DCPmd5, SysUtils, Classes;
function HashString(sSrc: string; var sDest: string): Boolean;
var
md5: TDCP_md5;
Digest: array[0..15] of byte;
i: integer;
begin
try
md5 := TDCP_md5.Create(nil);
md5.Init;
md5.UpdateStr(sSrc);
md5.Final(Digest);
md5.Burn;
md5.Free;
sDest := '';
for i := 0 to 15 do
sDest := sDest + IntToHex(Digest[i], 2);
Result := True;
except
try md5.Burn; md5.Free except end;
Result := False;
end;
end;
exports
HashString;
begin
end.
Jak teraz w aplikacji deklaruję funkcje:
function HashString(sSrc: string; var sDest: string): Boolean; external 'Hash.dll' name 'HashString';
to wszystko dziala.
Gdy tą funkcje wywołuje z biblioteki to wysypują się errory. Jeśli jednak przeniosę ją z biblioteki do aplikacji i jako parenta obiektu TDCP_md5 dam fMain (forme główna mojej aplikacji) zamiast nil tak jak jest w dll'ce to wszystko dziala bez błedu.
I teraz pytanie.
Jak zrobić zeby to działało z dll'ki? Bo w dll'ce nie mam co dać za parenta.