Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Label zur Laufzeit wird nicht angezeigt (https://www.delphipraxis.net/140393-label-zur-laufzeit-wird-nicht-angezeigt.html)

needatip 17. Sep 2009 13:06


Label zur Laufzeit wird nicht angezeigt
 
Ich möchte ein Fenster mit einem Label zur Laufzeit für ein paar Sekunden anzeigen.
Warum zeigt mir folgender Code das Label nicht an, obwohl ich 'parent := MyForm' gesetzt habe?

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var MyForm : TForm;
    MyLabel : TLabel;
    i : integer;
begin
  MyForm := TForm.Create(Application);
  MyLabel := TLabel.Create(MyForm);
  with MyForm do
  begin
    try
      Caption := 'TEST';
      Width := 350;
      Height := 200;
      Position := poScreenCenter;
      with MyLabel do
      begin
        Parent := MyForm;
        Caption := 'Bitte warten !';
        Top := 50;
        Top := 20;
        Left := 20;
      end;
      Show;
      for i:= 1 to 20 do
      begin
        sleep(50);
      end;
    finally
      MyForm.Free;
    end;
  end;
end;

Bernhard Geyer 17. Sep 2009 13:10

Re: Label zur Laufzeit wird nicht angezeigt
 
Zitat:

Zitat von needatip
Delphi-Quellcode:
  Show;
  ...
  sleep(50);
  ...
  MyForm.Free;

Und wann soll Windows zeit haben die Anzeige zu aktualisieren :gruebel:

Übrigens: Fenster die mit Show angezeigt werden müssen mit .Release freigegeben werden. Ansonsten wird die Messagequeu nicht richtig abgearbeitet und es kracht hin und wieder.

needatip 17. Sep 2009 13:19

Re: Label zur Laufzeit wird nicht angezeigt
 
Wie meinst du das genau ?
Mit ShoModal zeigts es auch an. Aber dann muss ich selber 'Closen'; :?
Sorry, steh gerade am Schlauch.

himitsu 17. Sep 2009 13:21

Re: Label zur Laufzeit wird nicht angezeigt
 
Die Form, bzw. das Label malt sich nur richtig, wenn die Windows-Nachrichten (MessageQueue) abgearbeitet werden, was bei dir nicht geschiet.

Stichworte: Application.ProgressMassages oder Hier im Forum suchenDelay


Alle Zeitangaben in WEZ +1. Es ist jetzt 23:22 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz