Assert failed in OnInitDialog()

Assert failed in OnInitDialog()

本文关键字:OnInitDialog in failed Assert      更新时间:2023-10-16

所以我想运行程序时,我有一个"断言失败"错误消息。我知道这意味着某个地方应该为真的条件不是,但我不知道如何纠正它。

该错误涉及以下行:

_AFXWIN_INLINE BOOL CEdit::SetReadOnly(BOOL bReadOnly)
   { ASSERT(::IsWindow(m_hind)); return (BOOL)::SendMessage(m_hWnd, EM_SETREADONLY, bReadOnly, 0L); }

所以我明白这是关于"只读"条件的,但我不知道在哪里纠正它。

我是C++新手,如果我忘记在我的问题中输入重要信息,很抱歉。

提前感谢!

OnInitDialog 函数包含对基类函数的调用

CDialog::OnInitDialog();

将呼叫移动到该线路之后的 SetReadOnly 中。 编辑控制变量仅在该行之后初始化。

谢谢你的帮助!最后,在逐行浏览了整个代码之后,我意识到在DoDataExchange中我混淆了,并在某个时候放置了两个相同的变量,而不是两个不同的变量......所以我真的不知道这是怎么给我这个错误的,但我想我会让你更新,以防有人犯同样的心不在焉的错误并得到这个错误:)