Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Eine Funktion automatisch bei Programmstart starten lassen? (https://www.delphipraxis.net/30124-eine-funktion-automatisch-bei-programmstart-starten-lassen.html)

malo 20. Sep 2004 14:34


Eine Funktion automatisch bei Programmstart starten lassen?
 
Wie der Titel schon sagt, wüsste ich gerne, wie man eine Funktion automatisch bei Programmstart starten lassen kann. Also ohne, dass irgendetwas vom Prgrammnutzer gemacht werden muss.

Ich will nämlich jetzt zum Beispiel, dass bei Start des Programms ein Messagefenster aufgeht und eine Message zeigt á la "Schön, dass Sie mein Programm nutzen". Wie geht das?

maxk 20. Sep 2004 14:35

Re: Eine Funktion automatisch bei Programmstart starten lass
 
Da gibt es mehrere Möglichkeiten. Ich empfehle den Code bei TForm.OnCreate reinzupacken (Doppelklick aufs Form)

Gruß,
maxk

Aenogym 20. Sep 2004 14:36

Re: Eine Funktion automatisch bei Programmstart starten lass
 
hi,

gib einfach den gewünschten code im Delphi-Referenz durchsuchenOnCreate-Event deines Hauptfensters ein. etwa so:
Delphi-Quellcode:
procedure TForm1.OnCreate(Sender: TObject);
begin
  showmessage('Vielen Dank, dass Sie mein Programm benutzen!');
end;
Aenogym

Bernhard Geyer 20. Sep 2004 14:36

Re: Eine Funktion automatisch bei Programmstart starten lass
 
Dafür könntest Du z.B. das FormCreate oder FormShow-Event des Hauptformulars verwenden.

Delphi-Quellcode:
procedure Form1.FormCreate(Sender: TObject);
begin
  ShowMessage('Hallo Lieber User');
end;

malo 20. Sep 2004 14:37

Re: Eine Funktion automatisch bei Programmstart starten lass
 
Aaaah... genau sowas hab ich gesucht, danke :D

Wem noch andere Möglichkeiten einfallen, kann sie gerne posten, ich sammel gerne ;)

jfheins 20. Sep 2004 14:38

Re: Eine Funktion automatisch bei Programmstart starten lass
 
Du kannst Code immer nur als Reaktion auf ein Ereignis ausführen lassen, das Programm kann nur was tun, wenn etwas passiert ist, und daraufhin etwas machen. (OOP)
Zum Problem: Schau dir mal Form1.OnCreate an, und wann dies ausgelöst wird ... :zwinker:

maxk 20. Sep 2004 14:38

Re: Eine Funktion automatisch bei Programmstart starten lass
 
Wenn du auf deine Forms nicht angewiesen bist, kannst du den Code auch direkt in deine DPR Datei packen (gleich nach begin oder vor Application.Run)

Aenogym 20. Sep 2004 14:39

Re: Eine Funktion automatisch bei Programmstart starten lass
 
Zitat:

Zitat von malo
Wem noch andere Möglichkeiten einfallen, kann sie gerne posten, ich sammel gerne ;)

bei bestimmten dingen, könnte der code im ONCreate crashen. zum beispiel, wenn du schon dort auf ein anderes, noch nicht erstelltes, formular zugreifst. für solche fälle empfehle ich dir, das ganze nicht bei OnCreate sondern bei Delphi-Referenz durchsuchenOnShow des Formulars reinzupacken - dann bist du auf der sicheren seite ;)

edit: lustig, eine kleine farge und soooo viele antworten, die alle dasselbe aussagen :stupid:

Aenogym

Tyrael Y. 20. Sep 2004 15:36

Re: Eine Funktion automatisch bei Programmstart starten lass
 
Zitat:

...das ganze nicht bei OnCreate sondern bei OnShow des Formulars reinzupacken - dann bist du auf der sicheren seite..

Vorsicht !!!!


OnShow wird nicht nur einmal ausgelöst.

Wenn du den Fokus auf ein anderes Fenster setzt und dann auf dein Fenster zurückspringst wird
OnShow wieder ausgelöst, deshalb vorsicht mit OnShow.
Man sollte genau gucken, was man vor hat und je nach dem das Ereignis auswählen.


mfg

mirage228 20. Sep 2004 15:42

Re: Eine Funktion automatisch bei Programmstart starten lass
 
Hi,

soweit ich weiss, wird OnShow nur beim wieder sichtbar machen des Fenster ausgeführt (Visible := True; und Show();). OnActivate wird ausgelöst, wenn das Formular den Fokus wieder bekommt.

Aber, dass beide nicht nur einmal ausgelöst werden, stimmt.

mfG
mirage228


Alle Zeitangaben in WEZ +1. Es ist jetzt 13:55 Uhr.
Seite 1 von 2  1 2      

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 by Thomas Breitkreuz