![]() |
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:
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:
Formname.close;
Hoffe, mir kann jemand sagen, wie ich dat hinkrieg |
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. |
Re: Programm FormCreate schließen klappt nit
Hi,
kannst dat programm so beenden:
Delphi-Quellcode:
Hoffe das hilft :zwinker:
procedure TForm1.FormCreate(Sender: TObject);
begin // Beendet dein Programm halt; end; devnull |
Re: Programm FormCreate schließen klappt nit
danke, mit
Delphi-Quellcode:
klappt es
halt;
|
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. |
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 |
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 ....
|
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). |
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:
Vorsicht aus dem Kopf geschrieben!
program HalloWelt;
uses Windows; begin MessageBox(GetDesktopWindow, 'Hallo Welt!', 'Info', MB_OK or MB_ICONINFORMATION); end. |
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 09:50 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-2025 by Thomas Breitkreuz