![]() |
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; |
Re: Label zur Laufzeit wird nicht angezeigt
Zitat:
Ü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. |
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. |
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 ![]() |
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