Einzelnen Beitrag anzeigen

Cöster

Registriert seit: 6. Jun 2006
589 Beiträge
 
Turbo Delphi für Win32
 
#18

Re: Wann Destruktor-Aufruf nötig?

  Alt 28. Okt 2006, 12:11
Zitat von Daniel:
Wie merkst Du Dir denn jetzt, auf welche Positionen Du noch zugreifen kannst und auf welche nicht? Oder vertraust Du auf das Glück des Anwenders?
Bei Delete wird doch Count um 1 verringert und alle Elemente 1 nach vorne gesetzt, oder? In allen meinen Schleifen hab ich stehen for I := 0 to Count - 1. Ich dachte eigentlich, dass dadurch alles glatt laufen würde. Aber komischerweise kommt trotzdem immer eine "Exception der Klasse EListError mit der Meldung 'Listenindex überschreitet das Maximum (15)'". Irgendwas mach ich da falsch. Ich weiß aber auch nicht, wo genau der Fehler auftritt, denn der Cursor wird nicht in die Zeile des Fehlers gesetzt, sondern an die Stelle, wo die Prozedur aufgerufen wird, innerhalb der der Fehler entsteht. Kann man das irgendwie irgendwo anders einstellen?

Inzwischen denke ich mir aber, vielleicht geb ich den Objekten ne Boolean-Eigenschaft, unter der ich speicher, ob mit dem Objekt noch etwas gemacht werden soll. Dann behalte ich immer meine 16 Objekte und könnte auch später bequem die Reset-Methode aufrufen.

Aber wie das mit dem Delete genau funzt, würde mich trotzdem interessieren.

@ Jens Schumann: Danke, die Faustregeln werd ich mir merken
  Mit Zitat antworten Zitat