![]() |
Labels und StatusBar werden zuspät aktualisiert
Hallo,
ich habe eine Anwendung gestrickt, die Datei aus einer Text-Datei in eine andere Datei konvertiert. Gestartet wird die Konvertierung mit einem Button-Click. Da die Konvertierung einige Zeit in Anspruch nimmt, soll beim Clicken der StatusBar anzeigen, dass die Datei in Bearbeitung ist. Wenn die Konvertierung durchgeführt worden ist, soll sich der Text in Fertig ändern. Hier der Code:
Delphi-Quellcode:
DTA ist die Procedure, welche die Konvertierung erledigt.
procedure TForm1.BitBtn1Click(Sender: TObject);
begin StatusBar1.Panels[0].Text := 'Datei wird erzeugt!'; HHJahr := MaskEdit1.EditText; BMon := MaskEdit2.EditText; if (StrToInt(BMon) < 1) or (StrToInt(BMon) > 12) Then begin StatusBar1.Panels[0].Text := 'Bitte einen Monat zwischen 01 und 12 eingeben!'; exit; end; if CheckBoxBeamte.Checked then DTA((Quellpfad + Quelldatei_Beamte),(Zielpfad + Zieldatei_Beamte)); if CheckBoxBeschaeftigte.Checked then DTA((Quellpfad + Quelldatei_Beschaeftigte),(Zielpfad + Zieldatei_Beschaeftigte)); StatusBar1.Panels[0].Text := 'Fertig!'; end; |
Re: Labels und StatusBar werden zuspät aktualisiert
Ah, super. Und wie war jetzt die Frage? :stupid:
|
Re: Labels und StatusBar werden zuspät aktualisiert
Gerate würde ich sagen, ein Application.ProcessMessages nach dem Setzen des Statusbartextes sollte helfen (wenn ich die Frage richtig gerate hab ;) )
|
Re: Labels und StatusBar werden zuspät aktualisiert
vielleicht hilft ein
Delphi-Quellcode:
hinter
application.processMessages
StatusBar1.Panels[0].Text := 'Datei wird erzeugt!'; und StatusBar1.Panels[0].Text := 'Bitte einen Monat zwischen 01 und 12 eingeben!'; und StatusBar1.Panels[0].Text := 'Fertig!'; Grüße Klaus |
Re: Labels und StatusBar werden zuspät aktualisiert
Danke!! Jetzt klappts, bin halt Anfänger! :thumb: :hi:
|
Re: Labels und StatusBar werden zuspät aktualisiert
Besser ist aber hier ein
Delphi-Quellcode:
sonst könnte u.U. der Button beim Ausführen von
StatusBar1.Update
Delphi-Quellcode:
nochmal gedrückt werden (BitBtn1Click "springt" nochmal an. So wird das Control nur neu gezeichnet.
Application.ProcesMessages
|
Re: Labels und StatusBar werden zuspät aktualisiert
Vielen Dank Bernhard, solche Probleme würde ich nie selber erkennen, wenn es nicht die Hinweise von Euch gäbe. :kiss:
|
Re: Labels und StatusBar werden zuspät aktualisiert
Ein Thread wäre hier wohl das mittel der Wahl, da sonst dein Fenster für die dauer der Aktion nicht mehr reagiert und den Eindruck erweckt es wäre abgestürzt.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:52 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