Delphi-Quellcode:
function ExpFindFolders(Path: PAnsiChar; Delimiter:AnsiChar=','): PAnsiChar; stdcall;
begin
Result := GetExportPtr(Path, Delimiter); // Hier bleibt EurekaLog stehen damit kann ich aber nichts anfangen.
end;
Delphi-Quellcode:
function GetExportPtr(Path, Delimiter): PAnsiChar;
var
strExport: string;
begin
// [...]
ExportPtr := AnsiStrAlloc(Length(strExport) + 1);
CopyMemory(ExportPtr, PAnsiChar(AnsiString(strExport)), Length(strExport) + 1);
Result := ExportPtr;
end;
Was verursacht den Leak "AnsiStrAlloc" ?
Ich kann keinen string zurückgeben die
DLL kann auch mit anderen Developer Sprachen verwendet werden.
Strings zwischen
DLL und Anwendung hin und her schieben ist nicht das wahre.
Es muss ein 'PAnsiChar' oder PWideChar sein.