![]() |
EAccessViolation beim Beenden sporadisch
Liste der Anhänge anzeigen (Anzahl: 1)
Ich programmiere eine Anwendung mit einer DB und nutze dazu Firebird embedded. Nun kommt es hin und wieder vor, dass EAccessViolation kommt (im Anhang die Message). Es kommt nicht immer, aber ab und zu. Kann ich mit Hilfe der Meldung im Quelltext weitersuchen, wo die Ursache herkommen könnte? Ich habe schon in der DP gesucht, aber nur was von falscher Reihenfolge oder ähnlichen gefunden. Meine DB öffne ich erst im Activate. Muss ich diese dann auch von Hand schließen oder geht das von alleine beim Schließen der Anwendung? Vielleicht sind das die Ursachen?
|
AW: EAccessViolation beim Beenden sporadisch
Das Problem ist wahrscheinlich, dass beim Beenden auf ein Objekt zugegriffen wird, welches schon freigegeben wurde. Wobei es dabei etwas verwunderlich ist, dass es nur sporadisch auftritt. Somit wird das Programm in verschiedenen Zuständen beendet.
Aber ohne nähere Informationen kann dir so direkt nicht geholfen werden. Compilier mal ![]() |
AW: EAccessViolation beim Beenden sporadisch
Zitat:
|
AW: EAccessViolation beim Beenden sporadisch
Naja, das oder so hilft uns trotzdem nicht weiter ;) Du musst uns schon ein wenig mehr geben, sonst können wir nur in die Glaskugel schauen und raten. Wie schon gesagt, madExcept wäre ein erster Anlaufpunkt für dich.
|
AW: EAccessViolation beim Beenden sporadisch
Was passiert wenn im OnCloseQuery-Event des Hauptformulars explizit die DB-Verbindung geschlossen wird. Hatte schon das (früher) die BDE im Disconnect Screen.Curser gesetzt hat. Schlecht wenn da schon die Screen-Instanz schon freigegeben wurde.
|
AW: EAccessViolation beim Beenden sporadisch
Zitat:
Delphi-Quellcode:
Dabei ist mir aufgefallen, dass ich noch einen Timer nutze, der mir die Anzahl der Datensätze ausliest und in die Statusbar einträgt. Vielleicht ist das auch das Problem. Wie kann ich ansonsten die Anzahl der Datensätze in eine Statusbar eintragen, wenn nicht mit dem Timer?
//wenn noch verbunden, dann Verbindung lösen
with DM1 do begin if IBDatabase1.Connected then begin IBDatabase1.Connected:=False; end; end; |
AW: EAccessViolation beim Beenden sporadisch
Wie wäre es nach der Abfrage der Daten?
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 15:52 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