Loki876 Geschrieben 17. Januar 2006 Geschrieben 17. Januar 2006 Hi. Habe in einem Dialogenster ein Eingabefeld, dass ich nur unterbestimmten umstaenden aktiviert haben moechte. Dazu moechte ich dann bevor ich das Dialogfenster oeffne das Eingabefeld deaktivieren. Mein Programm stoert sich irgendwie an folgender Programmzeile und ich weiss nicht warum. m_dDlg gehoert zur Klasse CDialog m_cEingabefeld zu CEdit m_dDlg.m_cEingabefeld.EnableWindow(FALSE); // hier tritt der fehler auf if (Bedingung) { m_dDlg.m_cEingabefeld.EnableWindow(TRUE); } if (m_dDlg.DoModal () == IDOK) { UpdateData(FALSE) } Beim Compilieren kommt kein Fehler, beim Ausfuehren wird "Debug Assertion Failed!" gemeldet. gruss Zitieren
Klotzkopp Geschrieben 17. Januar 2006 Geschrieben 17. Januar 2006 Zu dem Zeitpunkt gibt es noch kein Eingabefeld. Das Dialogfenster - und damit auch das Eingabefeld - wird ja erst durch den Aufruf von DoModal erstellt. Leg in der Dialogklasse eine Variable für die Bedingung an, setze sie vor DoModal und aktiviere das Eingabefeld in Abhängigkeit von dieser Variablen in OnInitDialog in der Dialogklasse. Und weil das windowsspezifisch ist und nichts mehr mit Standard-C++ zu tun hat: Verschoben nach C++: Compiler, IDEs, APIs. Zitieren
Loki876 Geschrieben 18. Januar 2006 Autor Geschrieben 18. Januar 2006 Hat funktioniert. Vielen dank! 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.