Problem mit Steuerelement und Thread



  • Morgen zusammen,

    ich habe hier ein super GAU Problem *gG*.

    Ein Dialogfeld mit 2 Steuerelementen, auf dessen je eine Membervariable deklariert ist.

    Sobald der Dialog startet, starte ich einen Thread, der Ständig x dinge ausführt, um die aktuellen Werte per SetDlgItemText in die Steuerelemente reinschreibt.

    Funktioniert soweit auch alles wunderbar, problem ist nur, dass ich bei beenden des Threads auf den ExitCode abfrage und dazu die Methode mit WaitForSingleObjekt() benutze.

    Problem an der ganzen Sache ist, wenn ich den Button zum abbrechen des Threads drücke, kommt der aus WatiForSingleObjekt nicht mehr raus. Nehme ich die Zugriffe auf's Steuerelement raus (SetDlgItemText), funktioniert das alles wunderbar.

    Hab mich dann mal ein bissl schlau gemacht und gelesen, dass man sowas mit einem Invoke lösen kann, aber das kann ich nicht, weil ich kein .NET verwenden darf.

    Da ich in einem Thread aber auch kein UpdateData() verwenden darf, suche ich nun nach einer anderen Methode, Idee, um die Steuerelementmembers im Thread mit den Werten zu aktualisieren.

    Hat jemand eine Idee?



  • Warum schickst Du denn nicht aus dem Thread eine Message an deine View-Klasse und lässt die das reinschrieben der Items machen?
    Brauchst ja dazu nur im Doc ein paar Membervariablen definieren und die dann natürlich auch mit einem Lock blockieren wenn du schreibend drauf zugreifst.



  • Das man ne Idee.

    Werd ich gleich ma umsetzen.

    Thx


Anmelden zum Antworten