AGB  ·  Datenschutz  ·  Impressum  







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

Anwendung terminiert manchmal nicht

Ein Thema von Die Muhkuh · begonnen am 4. Jan 2009 · letzter Beitrag vom 4. Jan 2009
Antwort Antwort
Benutzerbild von Die Muhkuh
Die Muhkuh

Registriert seit: 21. Aug 2003
7.332 Beiträge
 
Delphi 2009 Professional
 
#1

Anwendung terminiert manchmal nicht

  Alt 4. Jan 2009, 12:03
Hi,

seit längerem bemerke ich, dass meine Anwendung sporadisch nicht terminiert. Ich starte sie, warte kurz, ohne etwas zu machen, schließe die Anwendung und lande wieder in Delphi, also alles wie es sein soll. Nun kommt es aber vor, dass ich genau den gleichen Weg gehe, aber die Anwendung, nach dem "Beenden" weiter läuft und ich explizit über den Stopp-Knopf die Anwendung anhalten muss.

Jetzt hab ich leider keine Ahnung, wo ich anfangen soll bzw. wie ich das Gebiet zum Suchen eingrenzen soll.

Hat jemand ein Tipp, wie man vorgehen könnte?

Vielleicht liegt es ja an den Komponenten. Ich nutze die Ribbons (die, die bei Delphi 2009 dabei sind), AnyDAC (Remoteverbindung zu einem MySQL-Server), ansonsten nichts spezielles.

Grüße
  Mit Zitat antworten Zitat
Benutzerbild von fkerber
fkerber
(CodeLib-Manager)

Registriert seit: 9. Jul 2003
Ort: Ensdorf
6.723 Beiträge
 
Delphi XE Professional
 
#2

Re: Anwendung terminiert manchmal nicht

  Alt 4. Jan 2009, 12:07
Hi!

Machst du irgendwas beim Beenden? Also so in FormClose o.ä.?

Ohne Quellcode wird die Suche wahrscheinlich schwierig...


Ciao, Frederic
Frederic Kerber
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.858 Beiträge
 
Delphi 11 Alexandria
 
#3

Re: Anwendung terminiert manchmal nicht

  Alt 4. Jan 2009, 12:08
Am Besten mal im Debugger ansehen
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von Die Muhkuh
Die Muhkuh

Registriert seit: 21. Aug 2003
7.332 Beiträge
 
Delphi 2009 Professional
 
#4

Re: Anwendung terminiert manchmal nicht

  Alt 4. Jan 2009, 12:15
Hi,

beim Beenden werden nur ein paar belanglose Objekte zerstört und die Verbindung zur Datenbank getrennt:

Delphi-Quellcode:
destructor TtlDatabase.Destroy;
begin
  if (FConnection.Connected) then
    Disconnect;

  FreeAndNil(FConnection);
  inherited;
end;
Markus: Das hatte ich schon versucht. Es läuft eine Zeile nach Application.Run (also auf das end.) und dann passiert nichts mehr.
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.858 Beiträge
 
Delphi 11 Alexandria
 
#5

Re: Anwendung terminiert manchmal nicht

  Alt 4. Jan 2009, 12:18
Setze mal in dem Konstruktor ein Breakpoint und setzte im Einzelschritt fort ( F7)
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von Die Muhkuh
Die Muhkuh

Registriert seit: 21. Aug 2003
7.332 Beiträge
 
Delphi 2009 Professional
 
#6

Re: Anwendung terminiert manchmal nicht

  Alt 4. Jan 2009, 12:22
Hi,

ich hab mich mal durch den kompletten Destroy-Vorgang gewurschtelt und hab, so glaube ich, die Zeile gefunden:

Delphi-Quellcode:
if lThread then begin
      if AWaitForClose then begin
        lTimeOut := WaitForSingleObject(GClosedEvent, C_AD_PhysManagerShutdownTimeout) = WAIT_TIMEOUT;
        CloseHandle(GClosedEvent);
        GClosedEvent := 0;
      end;
Es geht um die Zeile mit dem WaitForSingleObject, die dauert immer unterschiedlich lange und manchmal sehr lange. Das Timeout steht auf 10000.
  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 06:12 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