![]() |
Re: Record zurücksetzen (löschen)
@SubData: Die Hilfe hilft:
Zitat:
|
Re: Record zurücksetzen (löschen)
Weiß ich, hab ich danach auch gelesen.
|
Re: Record zurücksetzen (löschen)
Zitat:
Delphi-Quellcode:
Ist die ultimative Lösung :mrgreen: Damit werden auch Subrecords aufgeräumt. Habs ausprobiert.
Finalize(Record);
FillChar(Record,SizeOf(TRecord),0); |
Re: Record zurücksetzen (löschen)
Zitat:
@Michael + Ronny Danke für die Infos! Also seid ihr der Meinung, dass mit Finalize + FillChar sauber gearbeitet wird? Guido. |
Re: Record zurücksetzen (löschen)
Ja :)
Und bei der Gelegenheit: ![]() Hilft dabei Speicherlecks zu finden (Und optimiert auch gleich die Anwendung) |
Re: Record zurücksetzen (löschen)
Zitat:
Guido. |
Re: Record zurücksetzen (löschen)
Hi,
In den neueren Delphiversionen kann mans noch in eine Methode packen. Ist dann nachher etwas bequemer:
Delphi-Quellcode:
Edit: Schade, dass es keine Vererbung bei Records gibt, sonst hätte man da was TObject-mäßiges bauen können :stupid:
type
TRecord = record // ... procedure Clear; end; procedure TRecord.Clear; begin Finalize(Self); FillChar(Self,SizeOf(Self),0); end; |
Re: Record zurücksetzen (löschen)
Zitat:
Wie gesagt, interessiert mich nur etwas. Kann auch falsch sein. |
Re: Record zurücksetzen (löschen)
Zitat:
|
Re: Record zurücksetzen (löschen)
Zitat:
Edit: Hab mal was ausprobiert:
Delphi-Quellcode:
Damit dürften wohl alle Zweifel und Unklarheiten aus der Welt geschafft sein :)
// EinString = 'Test';
procedure TRecord.Clear; begin ShowMessage(EinString); // 'Test' Finalize(Self); ShowMessage(EinString); // '' FillChar(Self,SizeOf(Self),0); end; Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:12 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