CString strLogInfo = _T(""); S32 len = m_EditLogInfo.GetWindowTextLength(); 0x00007FF9F60685A5 (mfc140ud.dll)处(位于 MFCcomtool try.exe 中)引发的异常: 0xC0000005: 读取位置 0x00000000000002A8 时发生访问冲突。 m_EditLogInfo.SetSel(len, len); strLogInfo = pStr; //回车接收 /*strLogInfo += _T("\r\n");*/ m_EditLogInfo.ReplaceSel(strLogInfo); m_EditLogInfo.ScrollWindow(0, 0);
时间: 2024-04-13 22:25:35 浏览: 109
关于CString 变量的错误
这段代码中出现了一个异常,异常代码是0xC0000005。根据异常信息,这个异常是在读取内存位置0x00000000000002A8时发生的访问冲突。可能的原因是在读取这个内存位置时出现了错误。
在这段代码中,首先获取了编辑框m_EditLogInfo中文本的长度,并将其赋值给变量len。然后通过SetSel函数设置了编辑框的选择范围为(len, len),即没有选择任何文本。接着将字符串pStr赋值给变量strLogInfo。最后使用ReplaceSel函数将strLogInfo的内容替换到编辑框中,并通过ScrollWindow函数将编辑框滚动到顶部。
根据异常信息,可能的原因是在获取文本长度时出现了问题,导致读取了无效的内存位置。你可以检查一下m_EditLogInfo控件是否正确初始化,并且确保在调用GetWindowTextLength函数之前已经创建了窗口和控件对象。
另外,你还可以尝试使用调试工具来查看详细的堆栈信息,以便更准确地定位异常发生的地方。
阅读全文