Hallo
Wie Marabu schon anmerkt ...
Mache so etwas nicht im FormCreate, Das solltest du nur für initialisierungen verwenden, aber keine Programmlogik, da hier erst noch "aufgebaut wird".
Besser im FormShow oder noch besser im FormActivate. Aber hier Achtung, diese können mehrfach aufgerufen werden. FormActivate jedesmal wenn du dein Programm aktvierst, also bei einem anderen Programm warst z.b. WindowsExplorer.
Ich verwende in FormAktivate zumeist ein extra angelegte Variable in der Form, worin ich mir Merke ob ich schon einmal hier war
Delphi-Quellcode:
type
TfrmMain = class(TForm)
...
private
{ Private-Deklarationen }
oAlreadyActivated : Boolean;
...
public
{ Public-Deklarationen }
...
end;
procedure TfrmMain.FormCreate(Sender: TObject);
begin
...
oAlreadyActivated := False;
...
end;
procedure TForm1.FormActivate(Sender: TObject);
begin
if Not(oAlreadyActivated) then
begin
oAlreadyActivated := True;
// Do your one time activation issues here ...
...
end;
...
end;