既然是vector,那么这个 g_filename[i] 里面的 i 有没有可能越界呢???
1、 g_m_edit1 = (CEdit * )GetDlgItem(IDC_EDIT1); //这里用的是强制指针转换,需要确认。 if(g_m_edit1 == NULL) .... 2、 g_m_edit1->SetWindowTextW() 看下这个函数的原型,参数与原型要严格匹配。为方便使用CString有很多自动类型转换,可能导致问题。
g_filename[i],绝对和这个有关,你最好把它的内容贴出来看看
g_m_edit2->SetWindowTextW(str); 这一句的前面,加一句: OutputDebugString(str); 然后观察一下,出错的时候,str输出的值,是否正确。
[quote=引用 4 楼 ccrun 的回复:] 你这个代码很诡异啊,GetDlgItem返回的结果给了g_m_edit1 ,但是后面的代码用的却是g_m_edit2 ?
你这个代码很诡异啊,GetDlgItem返回的结果给了g_m_edit1 ,但是后面的代码用的却是g_m_edit2 ?
g_filename[i] 是啥玩意?
CEdit *g_m_edit1; g_m_edit1 = (CEdit * )GetDlgItem(IDC_EDIT1); CString str; str.Format(_T("正在传输%s"),g_filename[i]); g_m_edit2->SetWindowTextW(str); /////就是这行代码有问题 不是一直遇见,而是概率,大概五次中会遇到一次
1,221
社区成员
8,136
社区内容
加载中
试试用AI创作助手写篇文章吧