![]() |
TDateTime freigeben?
Moin,
mal ne ganz blöde Frage. Primitive Datentypen wie String, Integer, Double oder auch Boolean müsssen ja nicht manuell wieder freigegeben werden (alleine schon weil diese ja auf dem Stack und nicht auf dem Heap landen). Aber wie sieht es mit TDate, TTime und TDateTime aus? Das sind ja intern auch nur Floats, aber wie sieht es da aus? Muss ich um einen Memoryleak die Datumstypen mittels FreeAndNil wieder freigeben oder landen die trotzdem auf dem Stack? Würde mich einfach mal interessieren, da ich gerade in unserer Software auf der jagt nach Memoryleaks bin. Viele Grüße Maliko |
AW: TDateTime freigeben?
Wie Du schon gesagt hast, sind das Double-Werte.
|
AW: TDateTime freigeben?
Du musst das nicht freigegen. Das sind keine TObjects sondern einfache Floats. Du musst nur Objekte Freigegen die mit x.Create etrstellt wurden, also Sachen die von TObject abgeleitet sind und das sind alle Objekte in Delphi. Verwende einfach immer ein try/finally, wann immer du ein Objekt erstellst und dann hast die nie Probleme mit Memoryleaks. Auch Records musst du nicht freigeben, es sei denn du hast da speziell Speicher dafür Reserviert (AllocMem, New, etc.). Dieser muss dann natürlich auch wieder freigegeben werden und sollte genauso mit einem Try Finally geschützt werden.
Delphi-Quellcode:
Obj := TMeinObjekt.Create;
try //... dein Code mit dem Objekt finally Obj.Free; // Oder alternativ FreAndNil(Obj end; |
AW: TDateTime freigeben?
Zitat:
In Delphi ist eine abgespeckte Fassung drin. Das kann dir helfen die Leaks zu finden. deutsches Video über FastMM: ![]() Da zeige ich u.a., wie du die Finde-Leak Funktion aktivieren kannst. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:42 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz