001
29.09.2009, 10:58 Uhr
ao
(Operator)
|
Zitat von cmos: |
Im Hauptthread warte ich mit WaitForSingleObject(DataReady, INFINITE). Und wenn ich das mache, mit dem WaitForSingleObject, dann sieht man nicht mehr die ProgressBar.
|
Klar, weil der Hauptthread am Event auf den Workerthread wartet. Da kann er keine Progressbars malen.
Der Workerthread muss PostMessage machen, nicht SetEvent, wenn er mit dem Laden fertig ist.
Anderer Gedanke: Kann man, während die Datei geladen wird, überhaupt irgendwas Sinnvolles tun? Falls nicht, könntest du auch:
* die Datei im Hauptthread laden * blockweise laden - das macht der Workerthread ja eh schon, sonst gäbe es keinen fortlaufenden Progress * am Ende eines Blocks ein PostMessage aufs eigene Fenster machen, was dazu führt, dass der nächste Block geladen und der Progress gemalt wird.
Vastehste? |