AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi Eine Funktion automatisch bei Programmstart starten lassen?
Thema durchsuchen
Ansicht
Themen-Optionen

Eine Funktion automatisch bei Programmstart starten lassen?

Ein Thema von malo · begonnen am 20. Sep 2004 · letzter Beitrag vom 20. Sep 2004
Antwort Antwort
Seite 2 von 2     12   
Benutzerbild von Ultimator
Ultimator

Registriert seit: 17. Feb 2004
Ort: Coburg
1.860 Beiträge
 
FreePascal / Lazarus
 
#11

Re: Eine Funktion automatisch bei Programmstart starten lass

  Alt 20. Sep 2004, 15:42
Naja, man könnte ja eine Boolesche Variable ins OnShow-Ereignis einbauen, und diese beim ersten ausführen der Prozedur auf true stellen, etwa so:
Delphi-Quellcode:
procedure TDeineForm.FormShow(Sender: TObject);
var Ausgefuehrt: boolean;
begin
  if ausgefuehrt = false then
  begin
    //Deine Anweisungen
    Ausgefuehrt := true;
  end
  else
    ShowMessage('Deine Anweisungen wurden bereits ausgeführt.');
end;
Julian J. Pracht
  Mit Zitat antworten Zitat
Benutzerbild von Aenogym
Aenogym

Registriert seit: 7. Mär 2004
Ort: Schwerin
1.089 Beiträge
 
Delphi 7 Enterprise
 
#12

Re: Eine Funktion automatisch bei Programmstart starten lass

  Alt 20. Sep 2004, 15:45
Zitat von Tyrael Y.:
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
das ist nicht ganz richtig. wenn ich ein anderes fenster aktiviere und dann wieder zu meiner anwendung zurückspringe, dann wird OnActivate ausgelöst. wenn ich mein fenster allerdings per [oh]TForm.Close;[/oh] schließe, es per [oh]TForm.Hide;[/oh] verstecke oder die eigenschaft Delphi-Referenz durchsuchenTForm.Visible auf False stelle, dann wird OnShow beim nächsten anzeigen wieder ausgelöst.

demnach wäre es die beste methode, den gewünschten code unmittelbar vor Application.Run; in der Projektdatei auszuführen.

Aenogym
Steffen Rieke
Was nicht buzzt, wird buzzend gemacht!
http://blog.base-records.de
http://www.base-records.de
  Mit Zitat antworten Zitat
Benutzerbild von alcaeus
alcaeus

Registriert seit: 11. Aug 2003
Ort: München
6.537 Beiträge
 
#13

Re: Eine Funktion automatisch bei Programmstart starten lass

  Alt 20. Sep 2004, 15:46
Zitat von Ultimator:
Naja, man könnte ja eine Boolesche Variable ins OnShow-Ereignis einbauen, und diese beim ersten ausführen der Prozedur auf true stellen, etwa so:
Delphi-Quellcode:
procedure TDeineForm.FormShow(Sender: TObject);
var Ausgefuehrt: boolean;
begin
  if ausgefuehrt = false then
  begin
    //Deine Anweisungen
    Ausgefuehrt := true;
  end
  else
    ShowMessage('Deine Anweisungen wurden bereits ausgeführt.');
end;
Da liegst du falsch, denn die Variable ist lokal und wird bei jedem Aufruf von OnShow neu "erstellt". Du bräuchtest eine Klassenvariable dafür.

Greetz
alcaeus
Andreas B.
Die Mutter der Dummen ist immer schwanger.
Ein Portal für Informatik-Studenten: www.infler.de
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:44 Uhr.
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