Einzelnen Beitrag anzeigen

Benutzerbild von Jasocul
Jasocul

Registriert seit: 22. Sep 2004
Ort: Delmenhorst
1.354 Beiträge
 
Delphi 11 Alexandria
 
#4

AW: exe Datei verhält sich anders als in der IDE-Umgebung

  Alt 30. Nov 2021, 13:33
if messageDLG('wollen Sie die vorhandenen "'+inttostr(Objekte.Count)+'" Objekte überschreiben',mtConfirmation,[mbYes,mbNo],0) = mrno then weiter:=False; Hier muss noch der Fall abgefangen werden, wenn kein Button, sondern das Kreuz zum Schließen verwendet wird.

OB:=Objekte[0]; Ist OB eine globale Variable? Würde ich an dieser Stelle auf keinen Fall machen. Wer weiß, was dann an anderer Stelle im Programm möglicherweise in OB steht.

Es ist nicht sichergestellt, dass Objekte überhaupt einen Wert hat. Ich würde mindestens eine Prüfung mit assigned erwarten.

Die kritischen Stellen sind ohne try..except/finally.
Du schreibst auch nicht, mit welcher Meldung das Programm abstürzt. Mit einem Exception-Handling könntest du vermutlich noch mehr Infos bekommen.

Das Löschen der Objekte wirkt auch etwas merkwürdig. Vom Objekte.Clear würde ich erwarten, dass es sich um die Freigabe der Objektliste kümmert. Läuft hier vielleicht irgendwas doppelt und der Absturz resultiert aus der Doppelbehandlung?
Peter
  Mit Zitat antworten Zitat