Hallo zusammen,
ich importiere eine Funktion aus einer C++-
DLL:
Code:
/*
* Get the name associated with the <binIdx>th bin on the specified
* printer. If successful, fills in <buf> (up to <bufSize>-1
* characters) and returns <buf>; otherwise, returns NULL.
*/
LIBFUNC char *pdfGetBinName(char *printerName, int binIdx,
char *buf, int bufSize);
Das Ganze sieht in meiner Import-
Unit folgendermaßen aus:
Delphi-Quellcode:
function pdfGetBinName(printerName: PAnsiChar; binIdx: Integer;
var buf: PAnsiChar; var bufSize: Integer): PAnsiChar; cdecl;
Wenn ich es aber aufrufe, erhalte ich eine Zugriffsverletzung.
Delphi-Quellcode:
var
count, i, bufSize: Integer;
buf: PAnsiChar;
begin
pdfGetBinName(PAnsiChar('Druckername'), 0, buf, bufSize);
end;
Vermutlich sehe ich gerade den Wald vor lauter Bäumen nicht. Mit anderen Funktionen ohne PAnsiChar-Rückgabe klappt es. Woran könnte es liegen?
Grüße,
Jan