Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Programm in FormCreate beenden nach Test ??? (https://www.delphipraxis.net/79079-programm-formcreate-beenden-nach-test.html)

Michi27 16. Okt 2006 00:11


Programm in FormCreate beenden nach Test ???
 
Hi,

ich teste in meinem Programmim Abschnitt TForm1.FormCreate ob eine bestimmte Datei vorhanden ist,
wenn diese vorhanden ist soll das Programm nicht weitermachen sondern sich selbst beenden ohne
weitere Aktivitäten des Benutzers.

Weiß jemand wie ich das hinbekomme, da ja das beenden mit close; im FormCreate wohl nicht geht?!?!

Wer hat einen Tipp parat :-)


Bis dann


Michi

Sunlight7 16. Okt 2006 00:19

Re: Programm in FormCreate beenden nach Test ???
 
Halt!

Ja, entweder mit
Delphi-Quellcode:
Halt;
(Brutale Methode).
Oder besser im Projekt Quelltext vor dem erstellen der Form prüfen.

Luckie 16. Okt 2006 00:20

Re: Programm in FormCreate beenden nach Test ???
 
Überleg mal, was du achen willst: Du willst ins Auto einsteigen und gleichzeitig wieder aussteigen. Kann das Funktionieren? Entweder du überlegst vorher, ob du einsteigen willst oder du steigst erst ein und dann wieder aus. Entweder prüfst du vorher, ob die Datei da ist und machste s davon abhängig, b du deine Form erzeugst und weiternachst oder du setzt im OnCreate Ereignis ein Flag und beendets das Programm in einem Ereignis, welches nach OnCreate aufgerufen wird, zum Beispiel OnShow.

cruiser 16. Okt 2006 00:21

Re: Programm in FormCreate beenden nach Test ???
 
Häng diese Prüfung nich ins Form.OnCreate sondern noch vor dem Aufruf des Application iniziierens in die dpr. bzw halt vor den Code, der die Form aufruft, ich geh aber frecherweise vom Programmstart aus.


Projekt>Quelltext anzeigen

und dann folgendes (rot) einpflegen (ist nur ein schnelles Beispiel):

Code:
program Project1;

uses
  Forms, [color=#ff0000]SysUtils,[/color]
  Unit1 in 'Unit1.pas' {Form1};

{$R *.res}

begin
  [color=#ff0000]if not FileExists('blah') then
  begin[/color]
    Application.Initialize;
    Application.CreateForm(TForm1, Form1);
    Application.Run;
  [color=#ff0000]end;[/color]
end.

Sunlight7 16. Okt 2006 00:24

Re: Programm in FormCreate beenden nach Test ???
 
Oder so:
Delphi-Quellcode:
begin
  If not FileExists('IrgendEinDateiname') then
     Exit;

  Application.Initialize;
  Application.CreateForm(TForm1, Form1);
  Application.Run;
end.

Bernhard Geyer 16. Okt 2006 05:59

Re: Programm in FormCreate beenden nach Test ???
 
Noch 'ne Möglichkeit:

Delphi-Quellcode:
PostMessage(WM_CLOSE, self.Handle, 0, 0);
im FormCreate.

Sunlight7 16. Okt 2006 06:03

Re: Programm in FormCreate beenden nach Test ???
 
Zitat:

Zitat von Bernhard Geyer
Noch 'ne Möglichkeit:

Delphi-Quellcode:
PostMessage(WM_CLOSE, self.Handle, 0, 0);
im FormCreate.

Das funkt aber nicht :zwinker:


Alle Zeitangaben in WEZ +1. Es ist jetzt 03:20 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz