Veröffentlicht 14. Mai 200718 j Hallo, ich habe das Problem, dass ich von einem Unterdialog eine Maske mit einer CListCtrl aufmachen möchte, das Problem dabei ist, dass ich immer einen Debug Assert bekomme. Der Quellcode: CMultiTimeDlg::CMultiTimeDlg(CWnd* pParent /*=NULL*/) : CDialog(CMultiTimeDlg::IDD, pParent) { //{{AFX_DATA_INIT(CMultiTimeDlg) //}}AFX_DATA_INIT } void CMultiTimeDlg::DoDataExchange(CDataExchange* pDX) { CDialog::DoDataExchange(pDX); //{{AFX_DATA_MAP(CMultiTimeDlg) DDX_Control(pDX, IDC_TIMELIST, m_oeCtrlTimeList); //}}AFX_DATA_MAP } BOOL CMultiTimeDlg::OnInitDialog() { m_oeCtrlTimeList.InsertColumn(0, "Spalte1", LVCFMT_LEFT, 72); return TRUE; // return TRUE unless you set the focus to a control // EXCEPTION: OCX-Eigenschaftenseiten sollten FALSE zurückgeben } Klassendefinition: class CMultiTimeDlg : public CDialog { // Konstruktion public: CMultiTimeDlg(CWnd* pParent = NULL); // Standardkonstruktor // Dialogfelddaten //{{AFX_DATA(CMultiTimeDlg) enum { IDD = IDD_TIMESPAN_MULTI }; CListCtrl m_oeCtrlTimeList; //}}AFX_DATA ... } Aufgerufen wird das ganze mit: CMultiTimeDlg dlg(this) dlg.DoModal(); Konstruktion geht (logischerweise, weil steht ja nichts drin). Sobald ich dann DoModal aufrufen will, kommt folgende Meldung: Debug Assertion Failed! Program: D:\...\XXX.EXE File: afxcmn.inl Line:186 For information on how your program can cause an assertion failure.see the Visual C++ documentation on asserts. (Press Retry to debug the application) Woran liegt das ? btw: VC++ 6.0
14. Mai 200718 j Anscheinend hat jemand in CMultiTimeDlg::OnInitDialog den Aufruf von CDialog::OnInitDialog gelöscht.
Archiv
Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.