BSTR* ist ein Pointer auf ein C-string-Array.
(Ein Sternchen beim Typ ist ein Pointer auf den Typ in C, ein Sternchen bei der Variable selbst würde dem "var" Statement von Delphi entsprechen)
Normalerweise übergibt man die Argumente einer C-
DLL über ein array of PChar:
Delphi-Quellcode:
var
ArgCount: Integer ;
Arg : array of PChar;
PArg : ^PChar;
begin
SetLength(Arg,2);
Arg[0]:= xxx // Param 1
Arg[1]:= xxx // Param 2
ArgCount := High(Arg)+1 ; // Anzahl der Parameter steht in ArgCount
PArg:=@Arg[0]; // PArg übergibst du dann an die Funktion
end;
Wenn ich keine Fehler gemacht habe (unwahrscheinlich
), müsste sich die Header-Funktion so übersetzen lassen:
function Identify(bstrTemplates : ^PChar; lCount: Int64; lIndex: Int64; lRetCode: Int64): Integer; cdecl; external '<Dateiname der DLL>';
...korrigiert mich, ich bin kein C-Tier