Announcement

Collapse
No announcement yet.

Programmprozess beendet sich nicht

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Programmprozess beendet sich nicht

    Hallo,

    ich hab hier ein merkwürdiges Verhalten.
    Ich beende eine Fensteranwendung ganz regulär mit "CLOSE".
    Leider bleibt ganz sporadisch der Prozess des Programms hängen.
    Das heißt, das Programm mit seinem Fenster sieht man nicht mehr, aber im Task-Manager sieht man, dass der Prozess noch exisitiert.
    Das ist mir völlig unerklärlich. Nach Start über Delphi konnte ich das
    Phänomen noch nicht beobachten. Ich bekomme auch keine Exceptions. Ich versuchte auch schon ein "application.terminate" , aber ohne Erfolg.

    Hat jemand eine Idee ?

    Danke, Sascha

  • #2
    Na ja, die beinharte Methode wäre ein HALT(0) - falls das Programm nach dem CLOSE überhaupt zu dieser Zeile kommt, aber besser wäre natürlich herauszufinden, warum das Programm nicht terminiert. Hängt aber von deiner Applikation ab und nachdem wir den Sourcecode nicht kennen, müsste man schon eine funktionierende Glaskugel haben, um dir einen passenden Tip geben zu können.
    Eine Möglichkeit wäre, an verschiedenen Stellen im Programm eine Debugzeile in eine Textdatei zu schreiben (ganz wichtig: bei jedem Schreiben die datei immer öffnen und dann gleich wieder schließen!) und dann schauen, wie weit man gekommen ist. So kann man sich vielleicht langsam hinarbeiten.
    Gefährlich sind meist die selbst durchgeführten FREE() irgendwelcher Objekte in der falschen Reihenfolge oder Sachen mit Icons in der Taskleiste.<br>bye, Helmu

    Comment


    • #3
      Ich glaube das Problem erkannt zu haben.
      Im Timer lese ich nicht nur die Datenbank aus, sondern
      setze abhängig vom result zwei LED-Komponenten von Abakus.
      Ich geh mal schwer davon aus, dass diese in einem
      eigenem Thread laufen, da sie unabhängig von dem was das Programm gerade tut Programm blinken müssen.

      Nach der Entferung diese LED's lässt sich das Problem (bislang)
      nicht reproduzieren. Möglicherweise bleibt da ab und zu ein LED-Thread hängen und blockiert das Beenden des Prozesses

      Comment

      Working...
      X