Veröffentlicht 17. Januar 200619 j 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
17. Januar 200619 j 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.
Archiv
Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.