![]() |
Re: Free oder FreeAndNil=
Zitat:
|
Re: Free oder FreeAndNil=
Ja, das prüft auf Assigned(), was in diesem Fall aber das falsche Ergebnis liefert, also knallt es.
|
Re: Free oder FreeAndNil=
Hallo,
Fabian bezog sich wohl auf den von Heiko geposteten Code. Man muss die beiden Codestücke in dessen Beispiel voneinander losgelöst sehen. Gruß Hawkeye |
Re: Free oder FreeAndNil=
Zitat:
- in meiner (Delphi 7) Version kann ich keine Prüfung entdecken :( |
Re: Free oder FreeAndNil=
Jaaaa, also wenn man den Code genauso nimmt, wie er dort steht, dann knallt es natürlich :roll:
ich glaub es war auch mehr so gemeint :zwinker:
Delphi-Quellcode:
object.Free;
if Assigned(object) -> liefert Müll
Delphi-Quellcode:
[edit]
FreeAndNIL(object);
if Assigned(object) -> liefert immer False (weil object NIL ist) genau @Hawkeye219 @taaktaak: doch doch
Delphi-Quellcode:
procedure TObject.Free;
begin if Self <> nil then Destroy; end; procedure FreeAndNil(var Obj); var Temp: TObject; begin Temp := TObject(Obj); Pointer(Obj) := nil; Temp.Free; end; |
Re: Free oder FreeAndNil=
Zitat:
@QuickAndDirty: Dein Argument ist hinfällig, da alles was du beschreibst auf unsaubere Programmierung hindeutet und genau da liegt das Problem und nicht bei FreeAndNil() |
Re: Free oder FreeAndNil=
Asche auf mein Haupt
- natürlich :pale: |
Re: Free oder FreeAndNil=
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 15:27 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