请帮我看看错在哪里,谢谢拉`~~`

roline 2006-10-16 01:50:23
//在这个线程往另一个类的函数AnalyzeData(BYTE *recvBuffer)中传递数组指针,可是运行时在AnalyzeData函数中,第一条语句就会出错。大家有知道问题出在哪里的么?
DWORD WINAPI CLinkView::RecvThread(LPVOID lpParameter)
{
SOCKET socketRecv = (SOCKET)lpParameter;
char recvBuffer[255]={0};
BYTE recvB[255]={0};
while(1)
{
if(SOCKET_ERROR != recv(socketRecv, recvBuffer, 255, 0))
{
#ifdef _DEBUG
AfxMessageBox("接收数据成功!");
#endif
for(int i=0; i<255; i++)
{
recvB[i] = recvBuffer[i];
}

CBaseDrawView *m_pBaseDrawView;
m_pBaseDrawView->AnalyzeData(recvB);//解包

FILE *pFile = fopen("C:\\cjdz.bin", "ab");
fwrite(recvB, 1, sizeof(recvB), pFile);
fclose(pFile);
memset(recvB, 0, 255);
memset(recvBuffer, 0, 255);
}
}
return 0;
}

void CBaseDrawView::AnalyzeData(BYTE *recvBuffer)
{
CDC *pDC =GetDC();//在这里就错了,说是某内存access violation, 我试过,我传空数组的指针就没错,不知道为什么
...全文
160 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
roline 2006-10-16
  • 打赏
  • 举报
回复
老兄啊,会报错说,GetActiveView is not a member of 'CWnd'
怎么办啊`~`
mynamelj 2006-10-16
  • 打赏
  • 举报
回复
CBaseDrawView *m_pBaseDrawView = (CBaseDrawView*)AfxGetMainWnd()->GetActiveView();
roline 2006-10-16
  • 打赏
  • 举报
回复
我这样初始化:CBaseDrawView *m_pBaseDrawView = new CBaseDrawView ;
之后,依然有问题啊,难道两个类之间就不能传参数么??郁闷,我试了一下,在
CBaseDrawView类中穿参数给他自己的函数就不会出错`~
qzynm 2006-10-16
  • 打赏
  • 举报
回复
不好意思,看错了,同意夏娃的诱惑的说话
qzynm 2006-10-16
  • 打赏
  • 举报
回复
你这个DWORD WINAPI CLinkView::RecvThread(LPVOID lpParameter)应该是一个static的成员函数吧,没有this指针,当然不能用m_pBaseDrawView这个成员变量。
建议你把CLinkView类的pointer在作为线程参数,通过这个线程函数使用m_pBaseDrawView
roline 2006-10-16
  • 打赏
  • 举报
回复
可是,我该如何去初始化他呢?
mynamelj 2006-10-16
  • 打赏
  • 举报
回复
CBaseDrawView *m_pBaseDrawView; // 这个指针对象没有分配内存
m_pBaseDrawView->AnalyzeData(recvB);//解包
vcnewer 2006-10-16
  • 打赏
  • 举报
回复
CBaseDrawView *m_pBaseDrawView;
m_pBaseDrawView->AnalyzeData(recvB);//解包
----------------------
m_pBaseDrawView 是个未初始化的局部变量,不出错才怪
源码下载地址: https://pan.quark.cn/s/40677b766bda "ContextCapture 倾斜摄影快速、创新及全面空三建模与单机集群硬件部署方案2018" 此资源聚焦于倾斜摄影(ContextCapture)空三建模及单机集群硬件部署方案,致力于为用户呈现最快、最优成本效益的台式工作站、移动工作站、并行集群的多样化部署选择。以下是该资源的详细知识点概述: 一、相关设备型号说明 * UltraLAB 是西安坤隆计算机科技有限公司推出的专属图形工作站品牌,具备三大卓越优势:顶尖的计算硬件架构、精准的行业应用定制服务、专业的硬件系统优化工艺。 二、硬件部署方案 * 台式工作站部署建议:设备特色在于当前市场上最快的台式计算架构,适用于办公场景下,部门层级常规的倾斜摄影空三处理、三维建模。 * 便携式工作站部署建议:设备特色在于当前市场上最快的移动计算架构,适用于移动倾斜摄影的空三处理、三维建模工作站。 * 大数据量处理工作站推荐:设备特色在于极限自动超频加速与16个并行存储构造,具备空三处理和三维建模最强的计算性能及海量高速并行存储性能。 * 多设备并行计算集群部署建议:针对海量图像数据计算产生的巨大需求,单机计算能力处理时间过长,效率不高,通过多台机器并行集群,进行空三处理、三维建模,显著减少处理时间。 三、部署方案深入解析 * 2.1 倾斜摄影建模(台式工作站)部署方案:设备特色在于最高的计算处理能力~6核5.2GHz,内存最大配置可达64GB,配备最新图灵架构的RTX显卡,相比市场其他品牌机器(单CPU、双Xeon处理器)更快、更具成本效益。 * 2.2 倾斜摄影建模(移动便携式工作站)硬件部署方案:设备特色在于最高的计算处理能力~6...

16,550

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Creator Browser
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧