Einzelnen Beitrag anzeigen

Benutzerbild von dummzeuch
dummzeuch

Registriert seit: 11. Aug 2012
Ort: Essen
1.468 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#14

AW: ReportMemoryLeaksOnShutDown

  Alt 21. Jun 2020, 13:23
OK, also hatte ich recht und das Leak kann einfach geschlossen werden, indem man die Funktion eien String zurückliefern lässt und den PAnsiChar noch in der Funktion frei gibt.
Nochmal! Ich kann keinen string zurückgeben die DLL kann auch mit anderen Developer Sprachen verwendet werden.
Selbst wenn du recht hast was ich dir nicht absprechen will.
Ich rede nicht davon, einen String aus der DLL zurückzuliefern, das kann weiterhin ein PAnsiChar sein, sondern aus der Funktion, die die DLL aufuft.

Delphi-Quellcode:
function GetExportPtr(Path, Delimiter): string;
var
  strExport: string;
begin

  // [...]
  ExportPtr := AnsiStrAlloc(Length(strExport) + 1);
  CopyMemory(ExportPtr, PAnsiChar(AnsiString(strExport)), Length(strExport) + 1);
  Result := ExportPtr;
  StrDispose(ExportPtr);
end;
Probier's aus, das Leak wird weg sein.
Thomas Mueller
  Mit Zitat antworten Zitat