Posmessge接收消息不正确

zhinengjiagong 2018-08-30 04:10:50
我目的是子对框给主对话框发送消息: 下面函数是子对话框
void Config::OnBnClickedFocusCheck()
{
// TODO: 在此添加控件通知处理程序代码

unsigned char SendBuffer[7]={165,90,13,7,211,61,(0xa5+0x5a+13+7+0xd3+0x3d)&0xff};

if(::PostMessage(AfxGetApp()->m_pMainWnd->m_hWnd,WM_ConfigMessage,(WPARAM)SendBuffer[3],(LPARAM)SendBuffer))
{

// AfxMessageBox(_T("消息发送成功"));
}
}

主对话框:
LRESULT CMy40KW_UI_SoftWareDlg::SerialPortMessage(WPARAM wParam, LPARAM lParam)

{

unsigned char len=(unsigned char)wParam;

unsigned char* RecvMesage= (unsigned char*)malloc(len);

if(RecvMesage==NULL)
{
AfxMessageBox(_T("内存空间不足"));
}

memset(RecvMesage,0,len);


RecvMesage=(unsigned char*)lParam;

unsigned char a,b,c,d,e,f,g;

a=RecvMesage[0];

b=RecvMesage[1];

c=RecvMesage[2];

d=RecvMesage[3];

e=RecvMesage[4];

f=RecvMesage[5];

g=RecvMesage[6];

}

我使用单步调试,发现接收的数据都不对,不知怎么回事;更奇怪的是:如果我不屏蔽AfxMessageBox(_T("消息发送成功")); 接收的数据就是正确的,请高手指点一下,我的哪个地方出现问题
...全文
134 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
schlafenhamster 2018-08-30
  • 打赏
  • 举报
回复
当 线程有· AfxMessageBox(_T("消息发送成功")); 时 线程 被阻塞,SendBuffer[7] 有效到 AfxMessageBox 退出(OK)
hurryboylqs 2018-08-30
  • 打赏
  • 举报
回复
PostMessage的内容你最好用成员变量吧,SendBuffer这个是局部变量,函数结束内存就被回收了,消息内容就不正常了
smwhotjay 2018-08-30
  • 打赏
  • 举报
回复
(WPARAM)SendBuffer[3]

这个buff函数体运行完返回后就内存回收了。栈内存。你要new个buff! 小白错误
代码下载地址: https://pan.quark.cn/s/0ba44e4274fa 本文首先阐述了关键帧提取技术的研究背景及其重要意义,并概述了国内外相关领域的研究进展,随后对当前较为广泛应用的若干关键帧提取方法进行了深入说明和细致剖析,同时对每一种方法都进行了相应的实验验证。 在常见的关键帧提取算法中,包括基于镜头边界识别的技术、基于图像内容分析的技术、基于聚类分析的技术、基于运动特征分析的技术以及基于压缩视频流处理的技术。 上述这些方法均具备各自的优缺点和一定的应用限制,通常只适用于特定的视频类型,缺乏普遍的适用性。 针对前述关键帧提取方法所存在的不足之处,本文提出了一种创新的关键帧提取方案,该方法依据图像信息熵和边缘匹配率来选取关键帧。 具体步骤如下:首先计算每帧图像的信息熵,并选取信息熵呈现局部极值时所对应的帧作为候选关键帧;接着运用特定算子提取候选关键帧的边缘特征,并对相邻帧进行边缘匹配;若相邻帧的边缘匹配率大于等于预设阈值,则判定当前帧为冗余关键帧,予以剔除。 该方案无需预先设定阈值参数,能够根据视频内容的实际特征动态确定关键帧的数量,展现出优异的适应性。 通过对各类视频进行测试,实验结果证实提取出的关键帧能够有效代表对应视频的主要内容,为视频检索和视频检测任务奠定了坚实的基础。
代码下载链接: https://pan.quark.cn/s/a4b39357ea24 LinuxCNC作为一个开源的实时操作系统,其专门针对数控机床(CNC)进行了设计,并集成了多样化的运动控制功能以及插补算法。本资料将集中阐释“linuxcnc插补算法函数调用关系图”的核心内容,同时探讨与之紧密关联的轨迹规划与运动控制技术。在LinuxCNC系统中,插补算法占据着核心地位之一,其主要职责是将预先设定的离散点(通常是G代码)转化为连续且平滑的运动轨迹。插补算法致力于消除因步进电机或伺服电机的固定步距所引发的运动不连续现象,确保工具能够依照既定的曲线或曲面进行精确运动。所提及的“函数调用关系图”,一般表现为一种详尽的图表,它清晰地呈现了LinuxCNC中与插补算法相关的各类函数之间的相互调用方式,从而构建出整个插补过程的执行逻辑。此类图表对于洞察代码构造、进行故障排除以及优化性能具有不可替代的重要性。尽管该图表尚未完全成型,但它已经彰显了作者在深入研究LinuxCNC内部工作机制方面所付出的巨大努力。LinuxCNC的轨迹规划模块作为插补算法的前置环节,负责处理输入的G代码,并将其转化为适配于插补器操作的数据格式。此项工作不仅包含速度规划、加减速管理、轴同步以及碰撞预防等多个方面,还涵盖了其他相关任务。轨迹规划的核心目标在于生成既平滑又符合物理约束条件的运动指令。在标签中指出的“运动控制”,指的是确保机械设备依照既定轨迹实现精确且高效移动的整个流程,它融合了硬件接口配置、位置反馈机制以及实时响应能力等多个维度。LinuxCNC的运动控制系统与插补算法之间形成了紧密的协同关系,共同保障了高水准的运动控制能力。“cnc算法”这一术语涵盖了广泛的技术范畴,包括但不限于...

15,976

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 界面
社区管理员
  • 界面
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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