Einzelnen Beitrag anzeigen

Fritzew

Registriert seit: 18. Nov 2015
Ort: Kehl
678 Beiträge
 
Delphi 11 Alexandria
 
#8

AW: Memoryleak oder doch nicht?

  Alt 29. Mär 2018, 11:11
Da liegt der Hund begraben.....
Der String wird nich freigegeben.

mach einfach
Delphi-Quellcode:
finalize(FPbuffer^);
//oder
FPBuffer^.Str := nil;

Dispose(FPBuffer);
FPBuffer := nil;
Wenn Du nur den Speicher freigibst werden die Strings nicht gelöscht.

Aus der Hilfe zu finalize

Zitat:
Die Variable enthält lange Strings, Varianten und Interfaces, die nicht alle leer sind bzw. den Wert Unassigned haben.

Finalize setzt einfach alle langen Strings auf einen leeren Wert und alle Varianten und Interfaces auf Unassigned und sorgt somit für die ordnungsgemäße Freigabe des betreffenden Speichers.
Fritz Westermann
  Mit Zitat antworten Zitat