Ich wundere mich etwas, aber wer weiß, vielleicht ist das normal.
Beim Beenden des Programms mit Application.Terminate wird nach dem Abschluss des Prozeduraufrufs die Prozedur Mainform.Activate aufgerufen. Das hat jetzt nicht so besonders schlimme Auswirkungen, doch das wundert mich etwas, weil ja das Programm beendet wird und möglicherweise gewisse Komponenten schon "zerstört" sind, so dass deren Aufruf dann Probleme bereiten könnte. Überhaupt ist diese Prozedur Terminate sehr aufwendig, weil sämtliche Komponenten zerstört und deren Notification-Prozeduren noch abgehandelt werden, was bei der Fehlersuche dann sehr umständlich ist, weil ich in dem Programm mehrere hundert Komponenten auf den jeweiligen Formularen habe. Aber egal, muss wohl so sein.
Aber dass bei dem Beenden eine Formularaktivierungsroutine aufgerufen wird? Hat das möglicherweise damit zu tun, dass bei irgendeiner der Komponenten bei dessen "Zerstörung" die Prozedur aufgerufen wird? Ich suche schon, wo ich das vielleicht unbeabsichtigt programmiert habe. Ich nehme schon die OnChange-Prozeduren so wenig wie möglich in Anspruch, weil die sowieso ständig dazwischenfunken, besonders beim Zerstören eines Objekts. Doch den Verursacher bei der Vielzahl von Abbruchprozeduren der Objekte zu finden ist schlichtweg eine Geduldssache.
Wer kann mir da eine Antwort geben?
Für Eure Hilfe bin ich Euch dankbar.
Liebe Grüße und Gesundheit
Gunther Troost
Moderiert von Th69: Topic aus WinForms verschoben am Mi 04.03.2020 um 16:00