查看: 921|回复: 2

osg activex 数据输出问题

[复制链接]

该用户从未签到

发表于 2011-12-7 09:55:45 | 显示全部楼层 |阅读模式
各位大侠,本菜鸟有个问题不知怎么越过去

现在用C#+osg ax模式开发,ax中我用类pickhandler获取了鼠标点击场景的三维坐标,
ScenePosiClicked = picker->getFirstIntersection().localIntersectionPoint;

float posiX = ScenePosiClicked.x();
float posiY = ScenePosiClicked.y();
float posiZ = ScenePosiClicked.z();

CString CSposiX;
CSposiX.Format(L"%f", posiX);
CString CSposiY;
CSposiY.Format(L"%f", posiY);
CString CSposiZ;
CSposiZ.Format(L"%f", posiZ);

strPosi = CSposiX + (CString)", " + CSposiY + (CString)", " + CSposiZ;    //strPosi定义为类pickhandler的全局变量
:ostMessage(CPublic::AxHwnd, MYMESSAGE, NULL, (LPARAM)strPosi);

发送到ax,然后ax触发一个事件把数据传给C#,实现方式:

LRESULT CGeoVRMFCAxCtrl::OnMyMessage(WPARAM wParam, LPARAM lParam)
{
        UpdateScenePosiClicked((LPCTSTR)lParam);
        return true;
}
在UpdateScenePosiClicked里再用FireEvent把数据传出来,

问下大家,这个流程有什么问题吗?我现在调试时断点无法命中,只好问问各位大侠了。

先说谢谢了

该用户从未签到

 楼主| 发表于 2011-12-7 11:21:29 | 显示全部楼层
通过MessageBox测试,原来在PostMessage之前数据就有问题啦

该用户从未签到

 楼主| 发表于 2011-12-7 17:08:03 | 显示全部楼层
PostMessage也不成,结果用send好了,
您需要登录后才可以回帖 登录 | 注册

本版积分规则

OSG中国官方论坛-有您OSG在中国才更好

网站简介:osgChina是国内首个三维相关技术开源社区,旨在为国内更多的技术开发人员提供最前沿的技术资讯,为更多的三维从业者提供一个学习、交流的技术平台。

联系我们

  • 工作时间:09:00--18:00
  • 反馈邮箱:1315785073@qq.com
快速回复 返回顶部 返回列表