Einzelnen Beitrag anzeigen

mathis.h

Registriert seit: 7. Jul 2007
Ort: Berlin
22 Beiträge
 
#1

Warten, bis Form vollständig geladen ist

  Alt 4. Jan 2008, 23:09
Hallo!

Folgendes Problem:
Ich habe ein kleines Programm geschrieben, das aus zwei Forms besteht. Das eine enthält das Hauptprogramm. Nachdem auf einen Button geklickt wird, sollen mehrere Aktionen ausgeführt werden. Jetzt kommt das zweite Form ins Spiel. Dieses ist gewissermaßen ein Prozessformular, welches neben der Progress-Bar auch noch ein Label und ein TImage enthält. Das Problem liegt darin, dass offensichtlich die Aktionen, die nachdem ich das Prozessformular auf visible gesetzt habe, den Rechner so beanspruchen, dass er erst nach Beendigung derer (es sind einige HTTP-Aufrufe mithilfe der Indy-Komponente) das Formular vollständig anzeigt. Da dieses Formular nun aber den Prozess anzeigen soll, wäre es schön, wenn es schon VOR Beginn der Aktionen vollständig geladen wäre.
Meine Frage ist also, wie man das Programm dazu bringt, abzuwarten bis das Prozessformular vollständig angezeigt wird und erst dann die darunter stehenden Aktionen auszuführen.

Der Aufbau der Funktion, um die es geht ist folgender:
Delphi-Quellcode:
procedure TForm1.send;
begin
  ProgressForm.visible := true; //Das Prozessform, das vorher schon Created wurde sichtbar machen
  // <- hier müsste gewartet werden
  while (IsSomething) do begin
    DoSomething;
    ProgressForm.NaechsterFertig; //Procedure, die die Progressbar aktualisiert
  end;
  ProgressForm.fertig; //Signalisiert, dass der Prozess abgeschlossen ist
  //momentan wird erst an dieser Stelle das Formular vollständig angezeigt
end;
Grundsätzlich ist es so, dass die Progress-Bar schon während des Vorgangs angezeigt wird und das Label (welches auch schon mit NaechsterFertig aktualisiert wird) und das TImages erst am Ende erscheinen.

Also, würd mich freuen, wenn mir da jemand helfen könnte!

MfG
Mathis
  Mit Zitat antworten Zitat