Entwickler-Ecke
Delphi Language (Object-Pascal) / CLX - Befehl Reihenfolge
dorian_89 - Sa 11.02.06 22:37
Titel: Befehl Reihenfolge
Hi
Ich (Wir) habe (haben) ein Programm geschrieben, das in 'ner TPgrogressBox erst reinschreib wieviel prozent der felder man ausgefüllt hat und dann wie weit er mit bearbeiten ist (nur zur Schau, also dazuzählen und dann sleep, aber is lustig zum ansehn =) ), Davor is en Label, dessen Text entsprechend geändert. Das Dazuzählen in der TProgrssBox haben wir durch ne While-Schleife geregelt, und jetzt soll er davor natürlich den LabelText ändern, machts aber erst danach!
Wo ist da der Fehler?
Gibt es eine Reihenfolge, wie Delphi die Befehle ausführt?
Quelltext:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15:
| i:=0; PbAll.StepBy(-100); LbFortschritt.Caption:='Erstelle';
while i<10 do begin inc(i); PbAll.StepBy(10); sleep(100); end;
if i = 10 then LbFortschritt.Caption:='Fertig!' else; |
Schonmal vielen dank für eure Antworten
Dorian (& Kevin)
MrFox - Sa 11.02.06 22:49
Die Reihenfolge in der die Befehle ausgeführt werden ist von oben nach unten, von links nach rechts.
Füg mal nach der Zuweisung des Texts 'erstellen' an das Label die Quelltextzeile
Delphi-Quelltext
1:
| Application.Processmessages |
ein. Dann müsste es klappen.
dorian_89 - Sa 11.02.06 22:53
DANKE
es geht einwandfrei, auch wenn ich nich kapier warum er die while-Schleife vor allem Andern macht, auch wenn sie fast am Ende steht, aber mit Application.Processmessages kann ich in Zukunft arbeiten
thx
Dorian (& Kevin)
MrFox - So 12.02.06 13:38
Das liegt daran, dass die Schleife das Programm sozusagen lahmlegt. Also so krass Beschäftigt, dass der Anwendung keine Zeit mehr bleibt die Komponenten auf der Formularoberfläche zu zeichnen. Application.Processmessages gibt dem Programm explizit den Befehl die Schleife kurz anzuhalten und Aufgaben wie das zeichnen der Forumlaroberfläche zu erledigen.
dorian_89 - So 12.02.06 17:47
So was in der Art hatte ich mir gedacht, jetzt weis ichs thx
Dorian
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!