MFC-Membervariablen funktionieren nicht mehr
-
Ich habe mit den Klassenassistenten Membervariablen für meine Steuerelemente erstellt,bloss sie funktionieren nicht mehr.Immer wenn ich auf eine benutzen will,kriege ich ein Assert.Woran kann das liegen?
-
Moin,
die MemberVariablen sind in der jeweiligen Header Datei definiert. Vielleicht hast Du Sie dort aus versehen gelöscht.
Oder Du hast im KlassenAssi die falsche Klasse gewählt gehabt....Sonst fällt mir dazu im Moment auch nix ein... sorry.
Tom
-
Das würde sich doch nicht auf alle MFC-Variablen auswirken.
-
Wann versuchst du auf die Controls zuzugreifen?
Ist der Dialog zu diesem Zeitpunkt schon erstellt?
Initialisierungen einfach nach OnInitDialog verschieben...
-
Dann kann ich die doch nur in onInit verwenden.
-
Initialisierung sollst du verschieben nicht das deklarieren...
-
Ja, du hast wahrscheinlich versucht im Kontruktor auf die Controls zuzugreifen. Das geht nicht weil die Variable m_hWnd dieses Objektes zu dem Zeitpunkt noch auf 0x000000 steht, also das Control noch nicht erstellt wurde.
Ob das Control schon erstellt ist kannst du ganz einfach abprüfen mit:
if(::IsWindow(pMeinWnd->GetSafeHwnd()) // Fenster ist gültig else // Fenster ist ungültig
-
Es lag daran das CDialog::OnInitDialog(); am Ende von OnInitDialog war.
-
also mal wieder total banaler Fehler...:D
-
Die findet man am schwersten