Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Spinnt Delphi oder ich (https://www.delphipraxis.net/5392-spinnt-delphi-oder-ich.html)

Sanchez 4. Jun 2003 15:23


Spinnt Delphi oder ich
 
Teil der FormDestroy meines Forms

Delphi-Quellcode:
  for i:= 0 to Labelcount - 1 do begin
    arrLabels[i].Free;
  end;
  arrLabels    := nil;
arrLabels ist ein dynamisches Array vom Typ TLabel

Heute Vormittag -- alles normal, keine Exceptions

Vor kurzem -- ca. beim 27. Free gibts eine EInvalidPointer
Daraufhin habe ich die Free-Zeile auskommentiert. Jetzt bekomme ich keinen Fehler.

Neustart des Systems, ich hab natürlich gespeichert

EInvalidPointer beim Beenden des Programmes.
Jetzt hab ich die Kommentarzeichen wieder weggelöscht und ich bekomme keine Exception mehr.

Irgendwie bin ich etwas verwirrt, steckt da ein System dahinter?
Ist es möglich, dass ich irgendwo einen ganz anderen Fehler habe, der das auslöst?

mfg Daniel

Christian Seehase 4. Jun 2003 15:38

Moin Daniel,

wie erzeugst Du denn die Label?
Wenn Du beim Create als Owner eine übergeordnete Komponente angegeben hast (z.B. das Formular), und nicht nil, werden die Label automatisch zerstört.

Marco Haffner 4. Jun 2003 15:42

Klappt das hier?
Delphi-Quellcode:
for i := (Labelcount - 1) downto 0 do
begin
  arrLabels[i].Free;
end;
arrLabels := nil;

Sanchez 4. Jun 2003 17:00

Also muss ich Objekte, die ich so

Delphi-Quellcode:
arrLabel[i] := TLabel.Create( self );
erzeuge gar nicht entsorgen?

Auch fein.

mfg Daniel

Touchdown 4. Jun 2003 17:19

Nein im Grunde brauchst du die nicht mehr freigeben.

Als Owner gibts du ja 'self' an, 'self' meint hier das Formular in dem du die Instanzen erzeugst :mrgreen:

Wird das Formular zerstört (spätestens beim Beenden des Programms) werden auch alle Objekte die dies Formular als Owner haben mit aus dem Speicher gehauen :dancer2:


Alle Zeitangaben in WEZ +1. Es ist jetzt 19:57 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