Entwickler-Ecke
Delphi Language (Object-Pascal) / CLX - Überprüfen ob eine TStringList schon freigegeben ist
Bob Murphy - Do 16.04.09 02:27
Titel: Überprüfen ob eine TStringList schon freigegeben ist
Moin,
ich stehe wieder einmal vor einen kleinen Problem.
Gibt es eine Möglichkeit zu überprüfen ob eine TStringList schon freigegeben ist?
Hatte an sowas ähnliches gedacht^^
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8:
| if StringList = free then begin tu dies und das..... end else begin StringList.Free; end; |
Hoffe jemand hat eine Idee:)
LG Bob
Andreas L. - Do 16.04.09 05:04
Vielleicht hilft dir das hier weiter:
Delphi-Quelltext
1: 2: 3: 4:
| if Assigned(DeineStringList) then else |
Nächtliche Grüße,
Andy
Bob Murphy - Do 16.04.09 06:12
Ja sauber:) klappt wunderbar:)
BIG BIG THX
LG Bob
BenBE - Do 16.04.09 07:34
Verwende zum Freigeben bitte FreeAndNil, da sonst die Wirksamkeit von Assigned nicht gewährleistet ist.
Bob Murphy - Do 16.04.09 19:47
KK:) Danke für den Tipp:)
Yogu - Do 16.04.09 19:52
BenBE hat folgendes geschrieben : |
| Verwende zum Freigeben bitte FreeAndNil, da sonst die Wirksamkeit von Assigned nicht gewährleistet ist. |
Die Alternative möchte ich auch noch erwähnen:
Delphi-Quelltext
1: 2:
| StringList.Free; StringList := nil; |
Nichts weiter macht
FreeAndNil, man kann es aber auch ausgekoppelt schreiben.
jakobwenzel - Do 16.04.09 20:05
Wenn dann aber ne Exception im Destruktor auftritt ist das Objekt freigegeben aber wird nicht nil gesetzt.
FreeAndNil machts anders:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8:
| procedure FreeAndNil(var Obj); var Temp: TObject; begin Temp := TObject(Obj); Pointer(Obj) := nil; Temp.Free; end; |
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!