Moin !
Ich habe hier eine C
DLL die ich benutzen müsste. Darin gibt es diese Funktion:
Code:
int EncryptPassword(char* password, char* crypted_password, int bufsize)
In Delphi habe ich nun einen Funktionsprototypen definiert:
Delphi-Quellcode:
type
TDLLFunc = function(pass: PChar; passCry: PChar; lenBuffer: Integer): Integer; stdcall;
var
DLLFunc: TDLLFunc
Die
DLL wird dann dynamisch geladen und DLLFunc erhält den Pointer auf die Funktion in der
DLL (@DLLFunc := GetProcAddress(DLLHandle, 'EncryptPassword')
. Das klappt auch.
Nun versuche ich die Funktion zu benutzen und ich denke ich habe da noch irgendeinen Bug drin.
Nebenbei ... Die Funktion bekommt einen String und liefert einen verschlüsselten String zurück.
Das ist mein derzeitiger Versuch:
Delphi-Quellcode:
var
Buffer : PChar;
test : PChar;
begin
GetMem(Buffer, 20);
GetMem(test, 4);
test := PChar('!!!!');
len := DLLFunc(@test, @Buffer, 20);
ShowMessage(PChar(Buffer));
...
Nur leider kommt da nix brauchbares bei raus. Ich denke mal es liegt an meiner Nutzung von PChar.
Kann mir ggf. jemand einen Tip geben was ich hier anpassen/ergänzen muss?