Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Programm FormCreate schließen klappt nit (https://www.delphipraxis.net/12105-programm-formcreate-schliessen-klappt-nit.html)

Thorben86 20. Nov 2003 17:15


Programm FormCreate schließen klappt nit
 
Hi, ich hab en programm, dat bei Formcreate was ausführen soll, und sich dann beenden sollte.
Normal beendet man ja einfach mit
Delphi-Quellcode:
Formname.close;
klappt jedoch nit unter Formcreate, habs auch schon in ne funktion geschrieben, und dann bei FormCreate die Funktion ausgelöst, klappt aber auch nit??? :gruebel:

Hoffe, mir kann jemand sagen, wie ich dat hinkrieg

Minz 20. Nov 2003 17:20

Re: Programm FormCreate schließen klappt nit
 
hmm eine Möglichkeit wäre einen Timer zu benutzen.

Der läuft dann erst an, wenn die Form auch wirklich fertig
erstellt wurde. Im OnTimer-Ereignis kannst du dann Form.close
machen.
Was schöneres fällt mir grad nicht ein.

Vielleicht funzt es auch schon, wenn du close ins onPaint-Ereignis schreibst.

devnull 20. Nov 2003 17:22

Re: Programm FormCreate schließen klappt nit
 
Hi,

kannst dat programm so beenden:

Delphi-Quellcode:
  procedure TForm1.FormCreate(Sender: TObject);
  begin
    // Beendet dein Programm
    halt;
  end;
Hoffe das hilft :zwinker:
devnull

Thorben86 20. Nov 2003 17:22

Re: Programm FormCreate schließen klappt nit
 
danke, mit
Delphi-Quellcode:
halt;
klappt es

Thunderchild 20. Nov 2003 17:23

Re: Programm FormCreate schließen klappt nit
 
Ich kenne jetzt die genaue Ereignisreihenfolge nicht auswendig, aber das Formcreate kommt noch vor Application.run.
Das Close sendet sicher eine Nachricht aus, die dann von der Anwendung bearbeitet wird.

So wie Du es beschreibst, brauchst Du das Formular doch überhaupt nicht. Schmeiß es aus dem Projekt raus (Strg+Alt+F11) und schreibe deinen Quelltext in die Projektdatei rein (Projekt->Quelltext anzeigen) oder füge dem Projekt eine einfache Unit hinzu und mach dort Deinen Quelltext.

Edit: Dein Quelltext sähe dann in einem Beispiel so aus:
Delphi-Quellcode:
program Project1;

uses
  dialogs; // nur für das Showmessage benötigt

begin
  showmessage('');
{ Du würdest dann an dieser Stelle Deine eigene Prozedur aufrufen. Ist diese fertig, ist das Prog automatisch beendet.
end.

devnull 20. Nov 2003 17:24

Re: Programm FormCreate schließen klappt nit
 
@Minz:
:!: Das OnPaint-Ereignis tritt auch erst auf, nachdem die Form gezeichnet wurde; Das heißt, dass man das Formular kurzzeitig sehen würde, zumindest bei langsamen PCs und ausserdem dauert das länger.


devnull

Thorben86 20. Nov 2003 17:31

Re: Programm FormCreate schließen klappt nit
 
@ thunderchild, wat meinste mit 'einfacher unit', man hat doch standartmäßig ne unit mit dabei, und ich hatte nit vor, die groß zu füllen, aber direkt in den quellcode des projektes schreiben klappt nit, da kommen dann jede menge Fehlermeldungen, z.B. undefinierter bezeichner, operator oder simikolon fehlt ....

Thunderchild 20. Nov 2003 17:44

Re: Programm FormCreate schließen klappt nit
 
Ja, Du hast eine Unit dabei, aber da das Formular drin implementiert. Und bevor Du jetzt überall die Formular-Referenzen löschst aus der Projektdatei und dem Unit-Quelltext, ist es doch einfacher, sich eine neue, leere Unit hinzuzufügen.

Wenn Du direkt in die Projektdatei schreibst, ist das wie in Pascal. Du musst Dich also selbst um die Units kümmern, die Du einbinden willst, um einen besonderen Befehl nutzen zu können. Du bekommst sie, indem Du in die Hilfe zu dem Befehl guckst, da steht sie immer ganz oben.

Was soll das Programm eigentlich machen? Vielleicht kannst Du es ja auch als Konsolenanwendung machen.
(Bin jetz erstmal ne kleine Weile offline).

neolithos 20. Nov 2003 17:54

Re: Programm FormCreate schließen klappt nit
 
Ein leeres Windows-Projects erzeuge ich immer!

> Neue Consolen-Anwendung
> Löschen der Zeile {$APPTYPE Console}

und los geht es...

Delphi-Quellcode:
program HalloWelt;
uses Windows;
begin
  MessageBox(GetDesktopWindow,
    'Hallo Welt!',
    'Info',
    MB_OK or MB_ICONINFORMATION);
end.
Vorsicht aus dem Kopf geschrieben!

woki 20. Nov 2003 18:20

Re: Programm FormCreate schließen klappt nit
 
Hi,

halt ist nun wirklich nicht gut, halt bricht das programm gnadenlos ab.
Obwohl die ganze Sache recht merkwürdig erscheint, application.terminate beendet sauber.

grüsse
Woki


Alle Zeitangaben in WEZ +1. Es ist jetzt 06:53 Uhr.
Seite 1 von 2  1 2      

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