Narf! Geschrieben 17. April 2014 Geschrieben 17. April 2014 Hallo an alle, ich habe eine StatusBar in meinem Dialogfeld, wo ich vor dem eigentlichen Start der Aufgabe Initialisierungsmeldungen anzeigen lasse. Wenn ich den WorkerThread starte und jetzt Meldungen anzeigen lassen will, kommt eine Fehlermeldung die sinngemäß besagt, dass das StatusBar-Fenster nicht mehr verwendet wird bzw. nicht bekannt ist. In der zugehörigen wincore.cpp steht der Haltepunkt bei: ASSERT( (p = pMap->LookupPermanent(m_hWnd)) != NULL || (p = pMap->LookupTemporary(m_hWnd)) != NULL); p ist NULL Wie bekomme ich die StatusBar wieder unter Kontrolle?
Klotzkopp Geschrieben 17. April 2014 Geschrieben 17. April 2014 Du darfst auf Fenster und Steuerelemente nur aus dem Thread zugreifen, in dem sie erstellt wurden.
Narf! Geschrieben 28. April 2014 Autor Geschrieben 28. April 2014 Mit den ListControls kann ich aber doch arbeiten. Ich habe allerdings die StatusBar nicht als Dialogelement eingebunden, sondern nur mit CStatusBar::Create. Fehlt dazu vielleicht das DDX-Control für den Datenaustausch?
Klotzkopp Geschrieben 28. April 2014 Geschrieben 28. April 2014 Mit den ListControls kann ich aber doch arbeiten.Dann hast du Glück gehabt. Viele MFC-Methoden sind nur Wrapper um SendMessage-Aufrufe, das mag dann gutgehen. Es bleibt dabei: Zugriff auf Steuerelemente nur aus dem erstellenden Thread.
Empfohlene Beiträge
Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren
Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!
Neues Benutzerkonto erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde Dich hier an.
Jetzt anmelden