Hallo,
ich habe ein Programm, das Records mit verschiedene Daten und einen Timer in einem dynamischen Array ablegt. Zu jedem Record wird auch ein Menü-Item angelegt. Wenn nun mehr als 2 Records vorhanden sind, gibt es beim Beenden des Programms verschiedene Fehler (
Exception, Runtime Error) bzw. seit neuestem (kann auch daran liegen, dass ich das Programm nicht mehr so lange laufen lasse) ungültige Zeigeroperation.
Die Fehlermeldungen kommen nicht in meinem eigenen Code, sondern nach dem, was in onFormDestroy ausgeführt wird.
Jetzt habe ich drei Fragen:
- Bisher rufe ich für jeden Timer FreeAndNil auf, wenn ich den jeweiligen Record löschen will, und verschiebe die restlichen Einträge im Array eins nach oben (per Zuweisung). Dann wird das Array mit SetLength gekürzt. Ist das überhaupt die geeignete Methode?
- Beim Beenden des Programms lasse ich genau diese Routine alle Records löschen. Muss ich das überhaupt oder würde ein SetLength(Array, 0) reichen?
- Unabhängig von den anderen beiden Fragen, wodurch könnten die Fehlermeldungen entstehen?
Ich kann gerne etwas Code einstellen, müsste aber wissen, von welcher Stelle.