Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Access violation mit free??? (https://www.delphipraxis.net/35928-access-violation-mit-free.html)

Luckie 13. Dez 2004 21:17

Re: Access violation mit free???
 
Zitat:

Zitat von Sanchez
Hallo,
FreeAndNil befindet sich übrigens in der Unit sysutils. Normalerweise solltest du die schon automatisch in den uses haben.
Aber es macht sowieso nicht merh als zuerst Free und danach nil zuweisen.

Im Prinzip ja, aber so einfach ist es nicht.
Delphi-Quellcode:
procedure FreeAndNil(var Obj);
var
  Temp: TObject;
begin
  Temp := TObject(Obj);
  Pointer(Obj) := nil;
  Temp.Free;
end;

Shaman 14. Dez 2004 09:31

Re: Access violation mit free???
 
Aber warum haben die das denn so komisch gemacht mit dem temporären Objekt? :gruebel:

Muetze1 14. Dez 2004 09:47

Re: Access violation mit free???
 
Moin!

Damit die Variable vor dem eigentlichen Free schon auf Nil gesetzt wurde. Wenn danach im Free irgendein Fehler oder Exception auftritt, dann ist trotzdem die Variable schon Nil und es wird somit kein zweites mal versucht die Variable frei zu geben.

MfG
Muetze1


Alle Zeitangaben in WEZ +1. Es ist jetzt 18:12 Uhr.
Seite 2 von 2     12   

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