MFC und threads..
-
hallo
ich hab mir in einem MFC projekt ein thread eingefügt.. jedoch hab ich in dem Thread kein Zugriff auf Membervariabeln etc.. Wie könnt ich machen, dass ich darauf zugriff bekomme..mfg burnner
-
Einfach den thisZeiger der Klasse übergeben, auf deren Membervariablen du zugreifen willst.
-
vielen dank!
Variabeln gehen.. aber wen ich ne Funktion aus dieser Klasse aufruf gibtsn error... So ein kommisches fenster
-
burnner schrieb:
aber wen ich ne Funktion aus dieser Klasse aufruf gibtsn error... So ein kommisches fenster
1. dein deutsch is ja noch schlechter als meins
2. gehts was genauer??? dann is das helfen auch einfacher...
-
Lol wen ich dann eine Funktion aus der anderen Klasse aufrufe gibts einen kommischen error..
-
lustig komisch
oder seltsam komisch?
-
Debug Assertion failed
-
klarer assert...
erstell das prog ma in der release version, dann klappts mb.
is dann abba nich so die sauberste methode.
-
Hi,
das die ASSERT's im Release nicht kommen, liegt daran, das ASSERT im Release-Modus
nicht definiert ist. Das Programm aber wird dadurch keinesfalls besser oder
sicherer.Ein ASSERT kommt nicht ohne Grund, also muss der Fehler behoben werden.
Das Problem wird sein, das Du auf UI-Elemente in deinem Thread zugreifen willst.
Das führt bei der MFC immer zu Problemen in einem Thread, wegen der Thread-Sicherheit.Das Thema wurde schön öfters hier im Forum behandelt und vor ein paar Tagen
gab es bereuts ein ausführliches Thema darüber.Die wohl besten Lösungen sind, aus dem Thread heraus Nachrichten an die View,
oder das UI-Element mit SendMessage ( nicht mit PostMessage ) zu senden.Falls keine passende Nachricht zur Verfügung steht, mit RegisterMessage erstellen.
Gruss
EB
-
Um EarlyBirds Beitrag etwas zu konkretisieren:
In einem Thread darfst du kein UpdateData aufrufen!