Hallo,
Ich prüfe im Form.Create Ereignis auf zum Ausführen der Anwendung notwendige Dateien.
Wenn sie fehlen dann soll eine SchowMessage kommen und die Anwendung beendet werden ohne dass das Form.Show Ereignis eintritt.
Wie kann man das realisieren ?
Gruß Frank
Anwendung im Form.Create Ereignis beenden
- m.fuchs
- Lazarusforum e. V.
- Beiträge: 2809
- Registriert: Fr 22. Sep 2006, 19:32
- OS, Lazarus, FPC: Winux (Lazarus 2.0.10, FPC 3.2.0)
- CPU-Target: x86, x64, arm
- Wohnort: Berlin
- Kontaktdaten:
Re: Anwendung im Form.Create Ereignis beenden
Code: Alles auswählen
procedure TForm1.FormCreate(Sender: TObject);
begin
if 1 = 1 then begin
ShowMessage('Blafasel');
Halt;
end;
end;
Software, Bibliotheken, Vorträge und mehr: https://www.ypa-software.de
-
- Beiträge: 478
- Registriert: Fr 13. Sep 2013, 12:07
- OS, Lazarus, FPC: Debian Bullseye (L 2.2.0)
- CPU-Target: 64Bit
- Wohnort: Rügen
Re: Anwendung im Form.Create Ereignis beenden
Hallo m.fuchs,
DANKE für den Tipp ! - manche Dinge sind so simpel, dass man einfach nicht darauf kommt
DANKE für den Tipp ! - manche Dinge sind so simpel, dass man einfach nicht darauf kommt

-
- Beiträge: 2119
- Registriert: Di 23. Sep 2014, 17:46
- OS, Lazarus, FPC: Win10 | Linux
- CPU-Target: x86_64
Re: Anwendung im Form.Create Ereignis beenden
Denk aber dran das Halt dir das Programm direkt killt. Soweit ich weiß werden dann keine Destruktoren aufgerufen. Ich bin mir nicht mal sicher of Finalize Code aufgerufen wird. Wenn du also Logs speichern willst solltest du das auf jeden fall vor dem Finalize machenDL3AD hat geschrieben:Hallo m.fuchs,
DANKE für den Tipp ! - manche Dinge sind so simpel, dass man einfach nicht darauf kommt
- m.fuchs
- Lazarusforum e. V.
- Beiträge: 2809
- Registriert: Fr 22. Sep 2006, 19:32
- OS, Lazarus, FPC: Winux (Lazarus 2.0.10, FPC 3.2.0)
- CPU-Target: x86, x64, arm
- Wohnort: Berlin
- Kontaktdaten:
Re: Anwendung im Form.Create Ereignis beenden
Aber sicher doch. Wenn das Halt im OnCreate des Forms passiert, wird sowohl OnDestroy als auch Destroy durchgeführt.Warf hat geschrieben:Soweit ich weiß werden dann keine Destruktoren aufgerufen.
Was natürlich nicht passiert, sind die entsprechenden Aufrufe von Forms die erst später erzeugt werden. Wurden jedoch Forms vor dem erzeugt, welches im Create ein Halt aufruft, so werden auch deren OnDestroy und Destroy abgearbeitet.
Alle finalize-Blöcke von benutzten Units werden abgearbeitet.Warf hat geschrieben:Ich bin mir nicht mal sicher of Finalize Code aufgerufen wird. Wenn du also Logs speichern willst solltest du das auf jeden fall vor dem Finalize machen
Software, Bibliotheken, Vorträge und mehr: https://www.ypa-software.de
-
- Beiträge: 6914
- Registriert: Do 2. Jan 2014, 17:21
- OS, Lazarus, FPC: Linux (die neusten Trunk)
- CPU-Target: 64Bit
- Wohnort: Schweiz
Re: Anwendung im Form.Create Ereignis beenden
So wie es scheint, ist HALT nicht mehr so brutal wie früher. Ich habe ein wenig die Source von FPC angeguckt, da wird noch recht viel gemacht, bis endgültig das Ende kommt.
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot
Mit Java und C/C++ sehe ich rot