Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Form automatisch beenden (https://www.delphipraxis.net/97241-form-automatisch-beenden.html)

Kuster Peter 7. Aug 2007 15:06


Form automatisch beenden
 
Ich habe eine Anfänger Frage:

Ich wechsle von Fox auf Delphi deshalb beschreibe ich kurz, wie ich es in Fox gelöst habe:

Ueber das Menu ein Programm aufgerufen, die gewünschten Arbeiten erledigt, Progamm schliesst automatisch.

Meine Lösung in Delphi:

Form erstellt, im Header die Bearbeitung gemacht Anzeige auf der Form in Label : Arbeit läuft, danach sollte die Form automatisch geschlossen werden, doch mein Close Befehl wird nicht ausgeführt.

Frage: Wie muss ich den Close setzen oder gibt es die Möglichkeit ein Prozedurales Programm zu schreiben, dass man am Schluss mit Close schliessen kann.

Vielen Dank für die Hilfe.

Peter

Luckie 7. Aug 2007 15:07

Re: Form automatisch beenden
 
Wo steht dein Close Befehl?

Kuster Peter 7. Aug 2007 16:24

Re: Form automatisch beenden
 
Salu Michael

Hier der Code von Form2, da siehst Du wo mein Close steht: (Wie gesagt, bin ein Anfänger!)

Delphi-Quellcode:
procedure TForm2.FormCreate(Sender: TObject);
begin
{Hier ist das Prg. das abgearbeitet werden muss.}
close;
end;

end.
MfG
Peter

[edit=r_kerber]Delphi-Tags einegfügt. Das nächste Mal bitte selbst machen! Mfg, r_kerber[/edit]

Bernhard Geyer 7. Aug 2007 16:25

Re: Form automatisch beenden
 
Im FormCreate geht kein Close!

Probier folgendes

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

jfheins 7. Aug 2007 16:26

Re: Form automatisch beenden
 
Du kannst das Formular nicht schon im OnCreate schließen ;)
(Du schlägtst ja auch nicht die Autotür zu, während du noch einsteigst ...)

Versuch mal ein .Release, oder einen Timer, der das Formular schließt ;)

scrat1979 7. Aug 2007 17:00

Re: Form automatisch beenden
 
... oder einfach im OnActivate-Event des Formulares die ganzen Dinge abarbeiten. IMHO funktioniert dann auch der Close-Befehl.

SCRaT

juergen 7. Aug 2007 18:36

Re: Form automatisch beenden
 
Hallo Peter,

mit
Delphi-Quellcode:
Application.Terminate;
sollte es direkt im OnCreate auch funktionieren.
Wichtig wäre hierbei, dass es erst aufgerufen wird, wenn wirklich alles abgearbeitet ist.
Ansonsten müsste noch ein
Delphi-Quellcode:
Application.Terminate;
Exit;
verwendet werden.

semo 7. Aug 2007 19:19

Re: Form automatisch beenden
 
im oncreate ein terminate bzw. close?
das ist wie gelber schnee - nämlich :kotz:

Kuster Peter 7. Aug 2007 19:53

Re: Form automatisch beenden
 
Leider funktioniert keiner der Vorschläge:

Application.Terminate schliesst das ganze Programm und die anderen Vorschläge funktionieren nicht oder ich wende diese flasch an.

Wenn es im oncreate nicht geht, dann wo. Ihr müsst wissen, ich bin ein Anfänger.

Im Fox habe ich einfach ein PRG geschrieben, das habe ich aufgerufen und dann am Schluss mit Return beendet. Ganz einfach.

Ich möchte nur eine Routine laufen lassen und dann zu meinem Formular zurückkehren.

Ganz einfach.

Peter

PigfaceJoe 7. Aug 2007 20:06

Re: Form automatisch beenden
 
Hi, das Problem kenn ich,
ich löse das immer so:

Ich ziehe die Timer komponente aus der Sparte System aufs Formular und stelle timer1.interval auf 1 und timer1.enabled vorerst auf false.

Dann im OnActivate (Oder oncreate) dann einfach timer1.enabled:=true setzen und im timer dann den Code schreiben und am Ende von diesem OnTimer Code dann schliesslich form2.close.

Sollte so funktionieren, is halt (wahrscheinlich) nicht die schönste Lösung, klappt aber.

Ach ja: Vergess nicht im OnTimer Ereignis am Ende vom Code noch Timer1.enabled:=false zu setzen, sonst wird der Code jede Millisekunde ausgeführt, wäre nicht so schön!^^

Schönen Gruss
PigfaceJoe


Alle Zeitangaben in WEZ +1. Es ist jetzt 16:41 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