AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Fehler nachdem die Software beendet wird

Ein Thema von erich.wanker · begonnen am 14. Aug 2012 · letzter Beitrag vom 16. Aug 2012
Antwort Antwort
Benutzerbild von erich.wanker
erich.wanker

Registriert seit: 31. Jan 2008
Ort: im schönen Salzburger Land
454 Beiträge
 
Delphi XE4 Professional
 
#1

Fehler nachdem die Software beendet wird

  Alt 14. Aug 2012, 12:42
Hallo Leute,
einen schönen Gruß aus dem sonnigen Salzburger Land.

Frage:
Wie kann ich den folgenden Fehler finden oder zumindest eingrenzen, wo der Fehler sein könnte?

Fehler:
Ich hab ein Problem beim Schließen meiner Anwendung. Ab und zu kommt es vor dass ein ApplicationError "Exception EAccessViolation in Modul "Programmname.exe"" aufpoppt und ich finde den Fehler einfach nicht. Wann der Fehler auftritt ist nicht klar definierbar - kommt rein Zufällig daher - aber immer erst NACH dem schließen der Software.

Fehler kommt sporadisch
Fehler kommt bei WinXP bis Win7 gleichermassen selten - aber kommt.
Wenn die Software über die DelphiIDE gestartet wird und eine Fehlermeldung kommt (wenn Programm beendet wird) - ist Delphi bereits "fertig" und zeigt mir keine Quelltextposition, wo der Fehler sein könnte

Die Software verwendet:
Fenster - werden m.M.n. alle free gesetzt
DLL - werden alle via CloseLibrary entladen
Firebird SQL - Zeos 6.6.6 Connection closed
Timer: werden alle bei OnCloseQuery des Maiforms disabled
Reportdesigner wüsst ich nicht was da sein könnte
einen Schriftfont: Calibri wird beim Programmstart geladen ...

Wie könnte ich diesen Fehler eingrenzen?

Vielen Dank für Hinweise
Erich
Erich Wanker - for life:=1971 to lebensende do begin ..
O
/H\
/ \
  Mit Zitat antworten Zitat
Benutzerbild von s.h.a.r.k
s.h.a.r.k

Registriert seit: 26. Mai 2004
3.159 Beiträge
 
#2

AW: Fehler nachdem die Software beendet wird

  Alt 14. Aug 2012, 12:47
Es wird wohl irgendwas vorher freigegeben, bevor es nochmals verwendet wird. Aber wo genau, das wird schwer dir zu sagen.

Verwendest du Threads beim Herunterfahren? Oder rufst du nur bedingt Free() auf? also so:
Delphi-Quellcode:
procedure TMyClass.Destroy();
begin
if ... then
 ObjectXYZ.Free();
end;
»Remember, the future maintainer is the person you should be writing code for, not the compiler.« (Nick Hodges)
  Mit Zitat antworten Zitat
Benutzerbild von erich.wanker
erich.wanker

Registriert seit: 31. Jan 2008
Ort: im schönen Salzburger Land
454 Beiträge
 
Delphi XE4 Professional
 
#3

AW: Fehler nachdem die Software beendet wird

  Alt 14. Aug 2012, 13:00
Ich rufe "Free" auf. Wenn da ein grundlegender Fehler wäre, würde der aber immer kommen .. und nicht sporadisch.
Erich Wanker - for life:=1971 to lebensende do begin ..
O
/H\
/ \
  Mit Zitat antworten Zitat
Benutzerbild von s.h.a.r.k
s.h.a.r.k

Registriert seit: 26. Mai 2004
3.159 Beiträge
 
#4

AW: Fehler nachdem die Software beendet wird

  Alt 14. Aug 2012, 13:11
Ich rufe "Free" auf. Wenn da ein grundlegender Fehler wäre, würde der aber immer kommen .. und nicht sporadisch.
Naja, es kommt immer auf den Code und den aktuellen Zustand der Software drauf an und was genau passiert. Schrebist du in eine DB? Was genau passiert alles beim "Abbau" der Anwendung? Ohne tiefere Einblicke bzw. mehr Informationen können wir auch nur im Trüben fischen.

Kannst ja mal zum Spass auch alle Timer deaktivieren. Solche Komponenten haben gerne etwas mit sporadisch auftretenden Fehler zu tun.
»Remember, the future maintainer is the person you should be writing code for, not the compiler.« (Nick Hodges)
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.171 Beiträge
 
Delphi 10.4 Sydney
 
#5

AW: Fehler nachdem die Software beendet wird

  Alt 14. Aug 2012, 13:24
Habe die Erfahrung gemacht das man DB-Verbindungen (bei mir BDE) frühzeitig beenden sollte (OnCloseQuery) damit es nicht zu sporatischen Exception kommts (bei mir wars zugriff auf Screen.Curser nachdem die Screen-Instanz schon freigegeben war).
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
Benutzerbild von p80286
p80286

Registriert seit: 28. Apr 2008
Ort: Stolberg (Rhl)
6.659 Beiträge
 
FreePascal / Lazarus
 
#6

AW: Fehler nachdem die Software beendet wird

  Alt 15. Aug 2012, 14:53
Wie wäre es mit dyn. globalen Variablen?
Z.B. eine Stringlist, die irgendwo in der Unit initialisiert wird und dann eben nicht immer bis zum Finalization durchhält.

Gruß
K-H
Programme gehorchen nicht Deinen Absichten sondern Deinen Anweisungen
R.E.D retired error detector
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
9.352 Beiträge
 
Delphi 11 Alexandria
 
#7

AW: Fehler nachdem die Software beendet wird

  Alt 15. Aug 2012, 15:44
FastMM hilft, insbesondere falls da Objekte benutzt werden sollten, die schon freigegeben wurden. Denn das knallt ohne Prüfung eben nicht immer, würde also auch zu deiner Beschreibung passen.

Ansonsten wären die üblichen Helferlein madExcept, ...
Sebastian Jänicke
Alle eigenen Projekte sind eingestellt, ebenso meine Homepage, Downloadlinks usw. im Forum bleiben aktiv!
  Mit Zitat antworten Zitat
DSCHUCH

Registriert seit: 6. Jun 2007
Ort: Dresden
185 Beiträge
 
Delphi 10.2 Tokyo Enterprise
 
#8

AW: Fehler nachdem die Software beendet wird

  Alt 16. Aug 2012, 08:13
Diese Fehler sind sehr sehr nervig. Das letzte mal lag es bei mir daran das ich eine DLL-Funktion in der Aufruf-Methodik als stdcall angegeben hatte, in der dll selbst war die einsprungsfunktion aber als safecall (also der default wert, ich hatte die angabe vergessen) definiert. Beim Programm beenden und entladen der DLL knallte es dann und die Anwendung blieb im Hintergrund hängen.

Prüfe das mal vielleicht liegt es wirklich daran- ich kann es nicht zu 100% sagen.
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:21 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz