Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Warten bis Formular angezeigt wurde (https://www.delphipraxis.net/69471-warten-bis-formular-angezeigt-wurde.html)

Stefan Hueg 15. Mai 2006 18:24


Warten bis Formular angezeigt wurde
 
Ok mein erstes Problem wurde vorhin gelöst, nun stehe ich vor einem Weiteren.

Ich habe also mein Haupt und Unterformular. Nun rufe ich vom Hauptformular aus das Unterformular mit frmSync.ShowModal auf.

Mein Problem: Wie sage ich frmSync, dass er ERST wartet bis das Formular gezeichnet wurde und DANN irgendwelche anderen Sachen macht. Bisher sieht das so aus:

Delphi-Quellcode:
procedure TfrmSync.FormShow(Sender: TObject);
begin
  lblConnect.Caption := frmMain.MSGs.Strings[18];
  lblSync.Caption := frmMain.MSGs.Strings[17];
  lblOld.Caption := frmMain.MSGs.Strings[15] + ':';
  lblNew.Caption := frmMain.MSGs.Strings[16] + ':';
  Timer1.Enabled := True;
  Application.ProcessMessages;
end;

procedure TfrmSync.Timer1Timer(Sender: TObject);
begin
  TimeTCP.Host := 'ntp1.fau.de';
  TimeTCP.ConnectAndGetAll;
  Timer1.Enabled := False;
end;
Was natürlich sehr unelegant ist. Habe das mit nem Timer gelöst der auf 500 ms steht. Wie man sehen kann, will ich ne Verbindung mit einer Indy-Komponente herstellen.

Geht das nicht irgendwie anders?

Dax 15. Mai 2006 18:30

Re: Warten bis Formular angezeigt wurde
 
Ich denke TForm.OnActivate wird dir helfen, allerdings solltest du dabei ein Flag setzen, ob das, was du tun wolltest, schon getan wurde, damit du es nicht mehrmals tust :)

Stefan Hueg 15. Mai 2006 18:32

Re: Warten bis Formular angezeigt wurde
 
Super, funktioniert. Danke :)


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