Guten Tag,
kann mir jemand erklären, wie ich ein Prozedur, also Funktion in Delphi sofort nach Programm-Start ausführen kann, ohne einen Button zu drücken, oder so?
Vielen Dank
Pascal
Guten Tag,
kann mir jemand erklären, wie ich ein Prozedur, also Funktion in Delphi sofort nach Programm-Start ausführen kann, ohne einen Button zu drücken, oder so?
Vielen Dank
Pascal
Hallo,
indem Du in dem OnCreate- oder auch OnShow-Ereignis des Programms die Prozedur aufrufst:
ProcedurName.execute.
Gruß Ebi
Vielen Dank,
hat mir geholfen.
Hallo,
es kommt darauf an, wann Du die Prozedur genau brauchst und ob Du in der Prozedur auf Fenster zugreifen musst.
Die Standardlösung wurde bereits beschrieben. Das OnCreate-Ereignis des Hauptformulars ist im Normalfall die saubere Lösung.
Allerdings sind zu diesem Zeitpunkt noch keine weiteren Formulare erzeugt (wenn Du mehrere Formulare benutzt und diese automatisch erzeugen lässt). Ein Zugriff auf andere Formulare ist also zu diesem Zeitpunkt noch nicht möglich (Zugriffsverletzung bei Adresse blablabla).
Abhilfe ist, entweder die entsprechenden Formulare selbst zu instanziieren (FormX.Create) oder einen Timer zu verwenden, den Du im OnCreate-Ereignis startest und der Dir dann die Prozedur aufruft. In der Prozedur deaktivierst Du dann den Timer sofort wieder. Ich würde die erste Möglichkeit favorisieren.
Man kann Prozeduren auch im eigentlichen Programmteil aufrufen (Projekt -> Quelltext anzeigen). In den begin-end-Block kann man dort Aufrufe von Prozeduren schreiben. Das sollte aber eine wohlüberlegte Ausnahme bleiben, weil diese Datei eigentlich von der Delphi-IDE verwaltet wird.
Gruß, Niels