Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Mein Programm geht wortlos zu! Was tun? (https://www.delphipraxis.net/123084-mein-programm-geht-wortlos-zu-tun.html)

berens 27. Okt 2008 12:59


Mein Programm geht wortlos zu! Was tun?
 
Hi!

Ich habe hier mit meinem Programm das Problem, dass es momentan einfach zugeht, ohne dass ich das Programm beenden wollte.

Es ist eine umfangreiche Software die auch mit Threads, ActiveX-Plugins etc. arbeitet.

Das Form.OnClose und Form.OnCloseQuery wrden bei diesem "zugehen" nicht beachtet. Es wird keine Exception ausgelöst. Der Debugger von Delphi 2007 meldet keinen Fehler, Warnung etc.

Eben läuft das Programm, jetzt ist es einfach weg. Delphi scheint das O.K. zu finden.


Kann ich irgendwie die "letzte" Zeile aufrufen, die das Programm zum Beenden veranlasst hat? Gibt es sowas wie ein Ablaufprotokoll? Der Call-Stack wird ja beim Beenden geleert (logischerweise).

Ich habe auch bereit EurekaLog im Einsatz, dies kann mir allerdings auch nicht helfen. Scheinbar gibt es keine Unbehandelte Exception.

Es könnte also z.B. ein Application.Terminate Befehl sein, der sich in irgendeiner der vieeeelen Units versteckt. Bloß welcher, in welcher Unit?

Für Tips wie immer sehr dankbar!

Die Muhkuh 27. Okt 2008 13:02

Re: Mein Programm geht wortlos zu! Was tun?
 
Schon mal mit dem Debugger durchgesteppt?

hitzi 27. Okt 2008 13:07

Re: Mein Programm geht wortlos zu! Was tun?
 
Durchsuch doch spaßeshalber mal alle Sourcecode-Dateien deines Projektes nach dem von dir genannten Befehl(Application.Terminate) mit einem Suchtool deiner Wahl, welches eben auch den Text in der Datei beachtet.

berens 27. Okt 2008 13:14

Re: Mein Programm geht wortlos zu! Was tun?
 
Zitat:

Schon mal mit dem Debugger durchgesteppt?
Bringt leider nicht, bei den ganzen Threads, teilweise auch von 3rd Party Herstellern, die nur die .dcu liefern. Ich kann ja nur den ungefähren Zeitpunkt schätzen, wann das Programm zugeht. Ab dann sind es vielleicht noch 10'000 Zeilen oder mehr, bis das Programm tatsächlich zugeht. Und wenn ich dann bei einer bestimmten Zeile sein sollte, könnte es trotzdem sein, dass ein anderer Thread mit gerade das Programm zumacht, während ich mich wundere, warum "Showmessage('test');" angeblich das Programm schliessen soll. Damit ich in weniger als 10 Stunden das alles habe, muss man halt auch mal ne Zeit lang die F8 Taste gedrückt halten und sieht dann nur noch die Fenster mit Assembler (Karteikarte "CPU") oder den "Delphi-Sources" (also system, graphics, windows, etc..) vorbeirasen. Dann aufeinmal ist das Programm zu, und du weisst jetzt nicht, wo genau du jetzt eben eigentlich noch warst...

Falls du aber einen Tip hat, _wie_ ich das mit dem durchsteppen sinnvoll hinbekomme, bitte schreiben.

Zitat:

Durchsuch doch spaßeshalber mal alle Sourcecode-Dateien deines Projektes nach dem von dir genannten Befehl(Application.Terminate) mit einem Suchtool deiner Wahl, welches eben auch den Text in der Datei beachtet.
Wird mir wohl nix anderes übrig bleiben. Gibt es noch andere Befehle ausser Application.Terminate, MainForm.Close und KillTask('project1.exe') mit denen das Programm wortlos zugehen könnte?

Die Muhkuh 27. Okt 2008 13:18

Re: Mein Programm geht wortlos zu! Was tun?
 
"Halt;" wäre noch was

berens 27. Okt 2008 13:25

Re: Mein Programm geht wortlos zu! Was tun?
 
Also die Schlüsselwörter waren es definitiv nicht. Ich hatte übrigens die umwerfende Idee z.B. einfach in die Unit von Application.Terminate zu gehen, und dort einen Haltepunkt zu setzen.

Dennoch liegt das Problem woanders:
Eine nicht nährer zu nennende ActiveX-Komponente (Auf keinen Fall rede ich hier von einem TWebbrowser! ;) ) stürzt ab, und reißt mein Programm mit in den Tod. Soviel zum Thema Abstürzsicherheit durch ActiveX -.-

Ich lasse einfach momentan den Webbrowser nichts anzeigt, dann klappt es.

Thema vorläufig "erledigt", sofern keiner mir einen Tip geben kann, wie man ActiveX Komponenten so einbettet, dass deren Tod nicht auch meiner ist.

Danke allen Muhkuh und hitzi!

Kalfany 27. Okt 2008 13:38

Re: Mein Programm geht wortlos zu! Was tun?
 
Sowas hatte ich letztens auch ... da hat die ZEOS Komponente irgendwie gesponnen ... nur ließe sich bei mir das program nicht starten (kam aber auch keine fehler meldung o.ä.)


Alle Zeitangaben in WEZ +1. Es ist jetzt 09:19 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