Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Nach dem Anzeigen etwas tun .. (https://www.delphipraxis.net/199958-nach-dem-anzeigen-etwas-tun.html)

wurzelsepp1 5. Mär 2019 22:39

Nach dem Anzeigen etwas tun ..
 
Moin Gemeinde :)

Ich hab 15 Jahr Delphi-Pause gemacht und alles vergessen, sorry ..

Einfach Frage:
Ich möchte ein Formular anzeigen und erst, wenn es vollständig sichtbar ist, eine Aktion starten.
Mit On Form Show geht das nicht, da dieses Ereignis vor der Darstellung des Formuars aufgerufen wird.

Hintergrund:
Eine etwas zeitintensive Remote-Server-Abfrage soll mit entsprechenden Statusmeldungen garniert werden. Die sollten natürlich zu sehen sein, bevor die Abfrage beginnt.

Also etwa so:
Anzeige "Bitte warten Sie .."
Remoteserver.Connect;
(10 Sek. später)
Anzeige "Hier das Ergebnis"
Die Serververbindung liefert leider kein Ereignis, bevor nicht etwas passiert oder beendet ist ..

Any idea?

Danke,
Alex

haentschman 6. Mär 2019 05:47

AW: Nach dem Anzeigen etwas tun ..
 
Moin...8-)

Bitteschön. Da hab ich meine Nettigkeiten für heute weg. :cheer:

Delphi-Quellcode:
const
  conMessageAfterShow = WM_USER + 1;
...
TfoMain = class(TForm)
  private
    procedure AfterShowMessage(var Msg: TMessage); message conMessageAfterShow;
  public
  end;
...
procedure TfoMain.FormShow(Sender: TObject);
begin
  PostMessage(Self.Handle, conMessageAfterShow, 0, 0);
end;
...
procedure TfoMain.AfterShow(Sender: TObject);
begin
  // dein Kram :-)
end;

hoika 6. Mär 2019 12:01

AW: Nach dem Anzeigen etwas tun ..
 
Halo,
FormActivate hätte man auch nehmen können.
also vorletzte Zeile ein Application.ProcessMessages und dann dein Code.

haentschman 6. Mär 2019 12:29

AW: Nach dem Anzeigen etwas tun ..
 
Zitat:

Application.ProcessMessages
...er hat Jehowa gesagt. :roll:

DieDolly 6. Mär 2019 12:56

AW: Nach dem Anzeigen etwas tun ..
 
Ich gebe eine Zutat dazu: WMFormVisible.


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