AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

AV aus dem Nirgendwo beim Beenden

Ein Thema von Der schöne Günther · begonnen am 29. Apr 2015 · letzter Beitrag vom 29. Apr 2015
Antwort Antwort
Seite 2 von 2     12
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#11

AW: AV aus dem Nirgendwo beim Beenden

  Alt 29. Apr 2015, 13:25
Eventuell gibst Du Komponenten doppelt frei.
Da hilft dann nur statt MyBlub.Free; beherzt auf FreeAndNil( MyBlub ); umzusteigen
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat
Der schöne Günther

Registriert seit: 6. Mär 2013
6.109 Beiträge
 
Delphi 10 Seattle Enterprise
 
#12

AW: AV aus dem Nirgendwo beim Beenden

  Alt 29. Apr 2015, 13:45
Ich erzeuge weder dynamisch Komponenten, noch zerstöre ich sie explizit. Ich weiß nur dass es einen Timer gibt dessen Routine unter Umständen einmal länger als der Intervall dauern kann. Ob das sowas auslösen kann?

Mein Problem ist ja dass ich die Ursache nicht finden kann. Ich habe doch Debug-DCUs an. Warum bekomme ich keinen Stack?
  Mit Zitat antworten Zitat
Benutzerbild von stahli
stahli

Registriert seit: 26. Nov 2003
Ort: Halle/Saale
4.336 Beiträge
 
Delphi 11 Alexandria
 
#13

AW: AV aus dem Nirgendwo beim Beenden

  Alt 29. Apr 2015, 13:57
Ich weiß nur dass es einen Timer gibt dessen Routine unter Umständen einmal länger als der Intervall dauern kann.
Das kann ggf. eine Zeitschleife auslösen und dafür verantwortlich sein, dass ich gelegentlich früh zu spät zur Arbeit komme.
Eine AV dürfte das aber wohl nicht auslösen. Dann feuert halt eben das nächste Intervall, denke ich.

Hast Du meine Frage überlesen? Mal ohne Debug-Kontrolle versucht?

Ansonsten kannst Du auch mal die IDE debuggen. Vielleicht hilft das ja weiter...
Stahli
http://www.StahliSoft.de
---
"Jetzt muss ich seh´n, dass ich kein Denkfehler mach...!?" Dittsche (2004)
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
10.986 Beiträge
 
Delphi 12 Athens
 
#14

AW: AV aus dem Nirgendwo beim Beenden

  Alt 29. Apr 2015, 14:18
Mein Problem ist ja dass ich die Ursache nicht finden kann. Ich habe doch Debug-DCUs an. Warum bekomme ich keinen Stack?
Vermutlich taucht der Fehler erst auf, nachdem das Exception-Handling schon beendet wurde.

Aber eigentlich stochern wir doch hier alle im Trüben, da wir deinen Code nicht sehen können.
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
Bjoerk

Registriert seit: 28. Feb 2011
Ort: Mannheim
1.384 Beiträge
 
Delphi 10.4 Sydney
 
#15

AW: AV aus dem Nirgendwo beim Beenden

  Alt 29. Apr 2015, 14:19
Könnte doch mit dem Timer zusammenhängen. Wie isses denn so?
Delphi-Quellcode:
procedure TForm1.FormDestroy(Sender: TObject);
begin
  FTimerEnabled := false;
  FDingens.Free;
end;

procedure TForm1.Timer1Timer(Sender: TObject);
begin
  Timer1.Enabled := false;
  try
    if FTimerEnabled then
      FDingens.MachWas;
  finally
    if FTimerEnabled then
      Timer1.Enabled := true;
  end;
end;
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
10.986 Beiträge
 
Delphi 12 Athens
 
#16

AW: AV aus dem Nirgendwo beim Beenden

  Alt 29. Apr 2015, 14:43
Und warum dann nicht gleich so:

Delphi-Quellcode:
procedure TForm1.FormDestroy(Sender: TObject);
begin
  Timer1.OnTimer := nil;
  FDingens.Free;
end;
Das nil-Setzen verhindert einen erneuten Aufruf des Timer-Events. Dazu müsste aber eh noch irgendwo die Message-Queue abgearbeitet werden. Vielleicht schwirrt auch noch ein verträumtes Application.ProcessMessages rum?
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
rwalper

Registriert seit: 6. Sep 2006
45 Beiträge
 
Delphi 11 Alexandria
 
#17

AW: AV aus dem Nirgendwo beim Beenden

  Alt 29. Apr 2015, 15:24
Bei solchen Problemen füge ich gerne OutputDebugString-Anweisungen an den Stellen ein, die mir verdächtig vorkommen bzw. die das zeitliche Abräumen der Controls in der Anwendung dokumentieren.

Beispiel:
Delphi-Quellcode:
  ...
  Application.Run;
  OutputDebugString('### Application.Run - Ende');
  ...
Beim Start in der IDE sieht man diese Debug-Strings dann im Ereignisprotokoll-Fenster. Und beim Start außerhalb der IDE nehme ich die Dbgview-Anwendung von den Sysinternals-Tools, um die Debug-Strings zu sehen.
  Mit Zitat antworten Zitat
Der schöne Günther

Registriert seit: 6. Mär 2013
6.109 Beiträge
 
Delphi 10 Seattle Enterprise
 
#18

AW: AV aus dem Nirgendwo beim Beenden

  Alt 29. Apr 2015, 16:36
Vielen Dank für den seelischen Beistand soweit!

Ich habe noch ein bisschen gewühlt und den gefunden dass es der Destruktor einer TeeChart-Komponente ist welche die AV auslöst. Anscheinend hatte ich das ohne "Debug-DCUs" installiert, daher der nicht vorhandene Aufrufstack (richtig?).

Da das nur beim Beenden (und wenn in den Chart überhaupt etwas gemalt wurde) passiert ist das nicht sonderlich wild. Werde ich auf Dauer wohl dahinterkommen...

Geändert von Der schöne Günther (29. Apr 2015 um 16:41 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.105 Beiträge
 
Delphi 12 Athens
 
#19

AW: AV aus dem Nirgendwo beim Beenden

  Alt 29. Apr 2015, 19:37
Oder er hat schrottige Komponenten (hab ich hier was von einem Frame gehört?), welche ihre Property nicht aufräumen, wenn angehängte Komponenten freigegeben werden.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 03:01 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