Delphi-PRAXiS
Seite 6 von 6   « Erste     456   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Delphi Suche Hilfe bei Bewegung einer Form (https://www.delphipraxis.net/175411-suche-hilfe-bei-bewegung-einer-form.html)

DeddyH 20. Jun 2013 19:02

AW: Suche Hilfe bei Bewegung einer Form
 
Wieso "nicht überschreibbar"? Man sollte Objekte nicht mittels Destroy freigeben, sondern mittels Free, und auch nur die Objekte, die man selbst angelegt hat. Das Setzen auf nil im Destruktor schadet zwar nicht, ist aber sinnlos.

abi9 20. Jun 2013 21:30

AW: Suche Hilfe bei Bewegung einer Form
 
Tut mir Leid, aber ich blick da nicht mehr durch..
Was ist denn das Problem, dass da nichts passiert? :(

Ginko 21. Jun 2013 14:06

AW: Suche Hilfe bei Bewegung einer Form
 
Zu Unit1:
Delphi-Quellcode:
procedure TForm1.FormDestroy(Sender: TObject);
begin
  Hintergrund.Free;
  Kopf.Free;
  Schlange.Free;
  //Futter.Free; wird nicht mit TFutter.create erstellt, deshalb ist die Freigabe hier sinnlos
  //Schwanz.Free; ebenfalls
end;
Zu mtKopf:
Delphi-Quellcode:
destructor TKopf.destroy;
begin
  Icon.Free;
  inherited;
end;

In der Unit mTHintergrund.pas fehlt noch ein Destruktor, weil hier Bild erzeugt wird und keine Freigabe erfolgt:
Delphi-Quellcode:
Bild := TJpegImage.Create;
Du musst dich immer um die Freigabe von Klassen selbst kümmern, wenn du sie mit dem Aufruf TKlasse.Create(...) selbst erzeugst.

Zitat:

Was ist denn das Problem, dass da nichts passiert?
Passieren tut beim Destrukor auch nichts, was man irgendwie visuell mitbekommt (außer man baut ihn fehlerhaft, dann kommt meistens eine Meldung). Es wird nur Speicher wieder freigegeben.

Mfg


Alle Zeitangaben in WEZ +1. Es ist jetzt 23:49 Uhr.
Seite 6 von 6   « Erste     456   

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz