ch habe ein kleines Progämmchen geschrieben, das aus dem Programmcode heraus ein modales Fenster (VCL Formular) erzeugt, um bestimmte Inhalte in einem eigenen Fenster anzuzeigen. Der Fensterinhalt stammt aus einem ActiveX Control, das der Anwender vorher installiert haben muss.
Wenn der Anwender das Control nicht installiert hat, schmeißt Deplhi in der Laderoutine (Form.onShow), in der ich die Daten aus dem ActiveX Control lese, einen Runtime-Error beim Versuch, das ActiveX Control zu instantiieren. Ich habe den Fehler mit einem Try … Except Block abgefangen. Wenn die Exception gefangen und eine Messagebox auf das Problem hingewiesen hat, möchte ich das Laden des Fensters sauber beenden. Doku konnte ich dazu leider keine finden, verschiedene Versuche auf gut Glück, wie Aufrufen von Self.Destroy, führen leider zu einem Absturz mit Schutzverletzung und/oder zu einer Endlosschleife mit allerlei Anwendungsfehlern, und es ist nicht mehr möglich, dss Programm regulär zu beenden (Taskmanager und Prozessabschuss sind notwendig).
Derzeit breche ich notgedrungen die Applikation komplett ab (Halt; bzw. Application.Terminate:wink:, aber das führt zu einer weiteren Fehlermeldung wegen Schutzverletzung - immerhin bricht das Programm danach ab.
Wie kann ich OnLoad sauber abbrechen und zum aufrufenden Formular zurückkehren?
AL.