TLabel wird nicht angezeigt
-
Hallo,
Hab mal ein kleines Problem. Finde in der Hilfe leider nichts gescheites
und auch im Forum nicht...Ich lasse auf meiner Form1 direkt beim Aufruf eine FTP-Verbindung starten
und den Verlauf der Aktion durch eine TGauge visualisieren.Das alles funktioniert und ist ja auch nicht weiter schwer.
Jedoch hat das Formular auch ein TLabel, auf dem ich jeweils eine Meldung platziere.
Dieses Label wird allerdings erst nach Ende der FTP-Transaktion angezeigt.
Zwei weitere Label werden korrekt zusammen mit der Gauge angezeigt.Das Ganze läuft im OnPaint-Ereignis ab.
Im OnShow gehts logischerweise nicht, da das Fenster erst gezeichnet wird,
wenn die Methode abgearbeite ist...Hat einer ne Lösung?
Danke
-
Hi.
Probiers mal mit
Application->ProcessMessages();
nach dem Setzen der Caption beziehungsweise nach dem Aktivieren der Sichtbarkeit.
-
Hi, Danke für Deine Antwort.
Das habe ich alles schon probiert!
Funktioniert aber auch damit leider nicht.Eine Lösung habe ich mittlerweile gefunden:
Ich habe alles in das Event OnActivate gesetzt und nach dem Setzen
der Label->Caption ein Form1->Repaint(); durchgeführt.
Dann geht es! Finde das allerdings nicht sehr elegant...Vielleicht hat ja jemand noch ne bessere Idee?
-
arnedrews schrieb:
Vielleicht hat ja jemand noch ne bessere Idee?
Lagere die Operation in einen Hintergrundthread aus.
-
Ja, da wird mir wohl nichts anderes übrig bleiben...
Is im Prinzip zwar die Mühe nicht wert, weil es sich nur um einen
Download einer Datei handelt. Mehr macht das Programm nicht.Aber da natürlich trotzdem alles korrekt dargestellt werden muß,
ist die Auslagerung in Hintergrund-Threads wohl die elegantere...Jo, Danke für den Hinweis...