![]() |
AW: Code vom Thread in einen Timer umziehen?
Die GUI kann aber doch genauso gut auswerten, ob es gerade 1000 von 10000 Schritten sind, sie muss sich ja nicht jedes Mal aktualisieren.
|
AW: Code vom Thread in einen Timer umziehen?
@Jim, ja, Dich meinte ich.
In welcher For-Schleife? Wenn ein Thread eine Aufgabe erledigt brauchst Du eigentlich keine For-Schleife. Und welche Aufgabe hast Du 10.000 Mal durchführen lassen und hast Du auch die Progressbar 10.000 mal neu zeichnen lassen? Dann lass einfach nur jeden 100. Durchgang die Progressbar aktualisieren. Dann bist Du in 100 Schritten bei 100% und gut ist. Willst Du mal ein kleines Demoprojekt basteln und hier anhängen? Ich denke, das lohnt sich, weil sich das bestimmt noch etwas ordnen ließe... |
AW: Code vom Thread in einen Timer umziehen?
Zitat:
Vorher habe ich bei jedem for-Durchgang aktualisiert. Davon wollte ich nur weg und es einfacher haben. Zitat:
|
AW: Code vom Thread in einen Timer umziehen?
Liste der Anhänge anzeigen (Anzahl: 1)
Hier eine kleine Demo.
Die Demo ist echt unschön gemacht zeigt aber vom PRINZIP her was ich meine. |
AW: Code vom Thread in einen Timer umziehen?
Schaue ich mir heute Abend mal an...
|
AW: Code vom Thread in einen Timer umziehen?
Danke. Und bitte hau mich nicht dafür :stupid:
Wie gesagt ist es sehr dreckig gemacht drum herum. Das Wichtige sind nur die beiden Execute-Prozeduren in beiden Threads. Der Rest (was wie wo deklariert wird) ist dreckig und unwichtig. |
AW: Code vom Thread in einen Timer umziehen?
Und warum keine Message senden wenn es was anzuzeigen gibt?
Wenn die Oberfläche Zeit hat was anzuzeigen wird sie das auch tun, da kann man sich das ganze Polling/Timer-Zeug sparen. Gruß K-H |
AW: Code vom Thread in einen Timer umziehen?
Ich wollte gerade mal ein Beispiel mit einem Event machen.
Das Projekt lässt sich aber mit meinem XE3 nicht kompilieren - bricht einfach hart ab. Welches Delphi nutzt Du? |
AW: Code vom Thread in einen Timer umziehen?
Hallo,
Zitat:
Delphi-Quellcode:
und vorallem deren Aufruf aus
TForm1.LongDelay
Delphi-Quellcode:
geht einfach garnicht. Wozu das unbenannte Event, welches nur in der Methode existiert? Dann wird
TArbeiterThread.Execute
Delphi-Quellcode:
aus einem Thread aufgerufen, was mitunter das Potenzial hat, die gesammte Anwendung zuzerlegen.
Application.ProcessMessages
Wenn man in einem Thread unter ca. 20ms (siehe unten) warten will, benutzt man sleep. Will man länger warten benutzt man eines der WaitFor-Angebote vom System, unter benutzen eines Terminate-Events. Zu den 20ms: Den genauen Wert weis ich aktuell nicht. Aber es gibt bei den WaitFor... beim TimeOut eine untere Grenze, bei deren Unterschreitung die Zeit nicht mehr eingehalten wird. |
AW: Code vom Thread in einen Timer umziehen?
Zitat:
Zum Thema Delay und Thread, guck mal hier: ![]() Zitat:
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:04 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