![]() |
Formular beim erstellen zerstören
Hallo,
ich habe hier ein scheinbar einfaches Problem welches ich jedoch nicht in den Griff bekommen. Ich erzeuge ein Formular und während ich es erzeugens lade ich Daten aus einer DB. Falls ich aber keine Daten finde möchte ich die ganze Sache abbrechen, d.h. das Formular nicht öffnen. Also habe ich versucht bei den Ereignissen "FormShow" oder "FormCreate" den Vorgang abzubrechen. Dabei habe ich ModalResult auf ungleich 0 gesetzt und Self.Close aufgerufen und sogar eine Exception ausgelöst. Alles ohne Erfolg. Das Formular wurde jedes mal geladen. Vielen Dank - Daniel |
Re: Formular beim erstellen zerstören
Das geht nur indem du dir ein eigene Close-Nachricht sendest:
Delphi-Quellcode:
Mit deinen Versuchen bringst Du das Eventhandling durcheinander.
PostMessage(self.Handle, WM_CLOSE, 0, 0)
|
Re: Formular beim erstellen zerstören
kleiner Zusatz
In jedem OnCreate (sei es Formualar oder Datenmodul) in dem nennenswerte Arbeit verrichtet wird, sollte man folgendes einbauen:
Delphi-Quellcode:
So kann sich das Programm viel schneller beenden, falls es schon beim Start "abgewürgt" wurde.
procedure TForm1.FormCreate(sender.TObject);
begin if Application.Terminated then // <- Exit; // <- // hier Initcode, der eine gewisse Zeit braucht ... end; |
Re: Formular beim erstellen zerstören
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:52 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 by Thomas Breitkreuz