Entwickler-Ecke

Sonstiges (Delphi) - Form2 zeigt Label nicht an


rizor - Mi 14.02.07 11:26
Titel: Form2 zeigt Label nicht an
Hi,

Ich habe eine zweite Form erstellt, in der zwei Labels den Text ausgeben sollen.
Ein Label hat schon einen vorgefertigten Text.

Die Labels werden aber nicht angezeigt.

Ich weiß nicht wieso.


Delphi-Quelltext
1:
2:
Form2.LGesamt.Caption := 'Gesamtfortschritt:';
Form2.LEinzel.Caption := Bearbeitung;


Bearbeitung wird immer aus Form1 übergeben.

Wieso geht es nicht?


Kroko - Mi 14.02.07 11:29

(a) weil visible auf false steht?
(b) weil Application.ProcessMessages fehlt
(c) ???


rizor - Mi 14.02.07 11:49

nee, visible ist true
und was ist application.processmessage?


Snoopie - Mi 14.02.07 12:06

... und anschließendes Form2.Repaint ?


Danniolo - Mi 14.02.07 12:16

Wenn der Fortschritt von z.B. einer Schleife angezeigt werden soll musst du Application.ProcessMessages aufrufen, damit deine Programmoberfläche (und damit auch das Label) aktualisiert wird.
Ich würde dir allerdings aus Performance-Gründen nicht bei jedem Schleifendurchlauf die gesamte Oberfläche zu aktualisieren -- dann ist man zwar stets über den Fortschritt informiert, allerdings dauert alles sehr viel länger. Besser ist es, wenn du z.B. nur nach jedem 10. Aufruf die PRogrammoberflächse (und auch den Inhalt des Labels) aktualisierst.


Kroko - Mi 14.02.07 12:17

user profile iconrizor hat folgendes geschrieben:
...
und was ist application.processmessage?

(a) sorry, es muss Application.ProcessMessages heißen, und es macht genau das, wie es heißt, alle Botschaften der Application werden abgearbeitet, d.h. auch die Botschaft von Form2 die Labels neu zu zeichnen!


rizor - Mi 14.02.07 15:34

Super, danke.
Das hat mir geholfen