Einzelnen Beitrag anzeigen

Benutzerbild von SubData
SubData

Registriert seit: 14. Sep 2004
Ort: Stuhr
1.078 Beiträge
 
Delphi 11 Alexandria
 
#16

Re: Record zurücksetzen (löschen)

  Alt 14. Sep 2008, 12:47
Jap, so in etwa dachte ich mir das.
Finalize scheint aber auch nicht zu funktionieren.

Jedenfalls nicht, wenn das Record eine ThreadVar ist.
Zumindest meldet FastMM danach noch Speicherlecks.


Edit:

Zitat von Hansa:
Du beweist, dass man jedes noch so simple Problemchen derart verunstalten kann, dass es eventuell nicht mal richtig funktioniert.

Delphi-Quellcode:
  MyRecord.nr := 1;
  MyRecord.name := 'XYZ';
  memo2.Lines.Add(IntToStr(MyRecord.nr));
  memo2.Lines.Add('*'+MyRecord.name+'*');
  memo2.Lines.Add('');
  FillChar (MyRecord,SizeOf (MyRecord),0);
  memo2.Lines.Add(IntToStr(MyRecord.nr));
  memo2.Lines.Add('*'+MyRecord.name+'*');
Das ergibt das im Anhang.
Damit beweist du nur, dass der Pointer auf den eigentlichen String nicht mehr existiert.
Ob der String damit aber wirklich freigegeben wurde, wird daraus nicht deutlich.
Ronny
/(bb|[^b]{2})/
  Mit Zitat antworten Zitat