在多线程中,用到分割的视图时,会报错

huazaimh huazaimh 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
只要不是用在多线程中,就不会报错
static DWORD WINAPI RecvZJThread(LPVOID lpParam)
{
SOCKET sock = *((SOCKET *)lpParam);
int rc = 0;
char szBuf[4096] = {0};
int iRep = 0;

TRACE("================进入RecvZJThread==================\n");
while(1)
{
memset(szBuf, 0x00, sizeof(szBuf));
rc=recv(sock,szBuf,sizeof(szBuf) - 1,0);
szBuf[4094]='\0';
CString strMsg("");
for(int i=0 ;i<rc;i++)
{
if (szBuf[i]!='\0')
{
strMsg +=szBuf[i];
}

}
TRACE(strMsg);
// AfxMessageBox(*pcTmp);
// TRACE(szBuf);
//memcpy(szMsg.GetBuffer(0),szBuf,rc);

if(rc <= 0)
{
//CloseHandle(g_hRecvZJ);
//closesocket(sock);
//return 0;
}
else

{
CString szRes = ((CFrontCollectApp*)AfxGetApp())->g_pZJSendClient->DealWebDataFun(szBuf,rc);
CString strBuf;
strBuf.Format("%s",szBuf);
iRep = atoi(szRes);
if (szBuf[8] == 0x62)
{
if(atoi(szRes) == 0)
{
((CFrontCollectApp*)AfxGetApp())->m_iLoginFlag = 1;
TRACE("\n================收到中继登陆响应消息,成功==================\n");
CMainFrame *pWnd = (CMainFrame*)::AfxGetApp()->GetMainWnd();
// pWnd->DisplayMsg("dfdfddfdf");
}
else
{
((CFrontCollectApp*)AfxGetApp())->m_iLoginFlag = 0;

TRACE("\n================收到中继登陆响应消息,失败==================\n");
}

}
else
{
TRACE("\n ================收到中继采集响应消息              iRep=d==================\n", iRep);
CMainFrame *pWnd = (CMainFrame*)::AfxGetApp()->GetMainWnd();
CFrontCollectView* pView = pWnd->GetDataView();
pView->m_pMsg22->ParseMsg(szBuf, rc);
pView->m_pMsg22->ParseMsgXML();
CString szChNo = pView->m_pMsg22->CHNL_NO;
pView->ReceiveResponse(szChNo,iRep, "");

}
}
}

return 0;
}

这里的分割用的是静态分割,具体是什么原因,请各位高手指教!谢谢!
...全文

相关推荐

MFC的窗口分割

- 为每个分割区域创建视图(CVIEW派生类)对象,并与CSplitterWnd对象关联。4. 分割窗口的调整和管理:分割窗口允许用户通过鼠标来调整子窗口的大小。

yhxyhxyhxtgdrge

C#窗体多视图点云系统开发:PCL互操作与视图同步

点云可视化作为三维视觉与激光雷达数据处理的基础能力,在工业质检和上位机工具中需求旺盛。PCL库基于C++实现,无法被C#直接调用,需通过PclSharp封装或C++/CLI桥接实现互操作,这是构建C#窗体应用多视图点云系统的技术前提。此类系统能将点云加载、旋转缩放、多角度对比集成到WinForms界面,显著降低算法验证与交付成本。开发中常会遇到C#调用C++点云库时出现的AccessViolation(c0000005)崩溃、OpenGL多视口上下文冲突等问题,掌握其成因与规避方法尤为关键。C#窗体应用多视

weixin_33778544

使用CSplitterWnd切割窗口的方法和步骤

你需要指定视图的类型(通常是CView的派生类)、视图的矩形区域、以及视图的索引号。5. **调整大小**: 用户可以通过拖动分割线来改变各个视图的大小。

jimmy20080107

FineReport常见的数据集报错错误代码和解释

### FineReport常见数据集报错错误代码与解释在日常工作中使用FineReport进行报表开发时,难免会遇到各种各样的错误提示。理解这些错误代码及其含义对于快速定位问题、解决问题至关重要。

FineBI

SAP标准成本核算问题大全.doc

structure could be determined for internal activity”通常是因为作业价格是否由系统自动计算还是手工维护和OKTZ成本组件结构中是否勾选“初级成本要素分割

bw6236223
评论 7
收藏 已收藏
分享
返回顶部
huazaimh
进程/线程/DLL 15,465 成员 49,169 内容