Worker-Thread
-
Hi,
ich habe eine Funktion, die im Hintergrund ablaufen soll.
im Vordergrund will ich den User den Fortschritt der Funktion anzeigen lassen (mit einer Progressbar). Ausserdem möchte ich es dem User ermöglichen den Vorgang abzubrechen! (mit nem Abbrechen-Button)Es gibt 3 globale Variablen, die die Funktion bearbeitet:
bStop (wenn true, durch abbrechen button gesetzt, wird abgebrochen)
iIndex (anzahl der bearbeiteten KiloBytes)
iLength (Länge der zu bearbeiteten Datei)IIndex wird logischerweise immer größer bis iLength erreicht wurde (das sind die Informationen für die Progressbar).
Wie erreiche ich jetzt, dass der GUI unabhängig von dieser Funktion läuft? Weil im Moment hängt der GUI, wenn die Funktion ausgeführt wird.
Mit einem Thread könnte das funktionieren. Leider bekomme ich es nicht hin...
Meine Funktion heißt "Analysiere()"
wie kann man das jetzt erreichen?
Kann mit bitte jemand etwas Code zeigen, der das bewirkt?
Dürfte nicht so viel seinvielen dank

MfG
Majestix
-
Hallo Majestix!
Mir haben beim Einstieg in die Thread Geschichte folgende 2 Threads (diesmal im Sinne von Forums-Thread ;)) geholfen:
GUI träge durch hohe CPU Last ausgelöst durch ein Button Event - wie vermeiden? und dort insbesondere der Link http://www.henkessoft.de/C++/MFC/mfc_einsteigerbuch_kapitel17.htm
und der Thread Aufruf einer nicht statischen Member-Funktion und dort insbesondere der Link http://www.codeproject.com/threads/usingworkerthreads.asp
Code findest Du in den Links.
Gruß,
Dong