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? Zitieren
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. Zitieren
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? Zitieren
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. Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.