查看: 1780|回复: 5

MFC中使用 readNodeFile 读取相对路径的问题

[复制链接]

该用户从未签到

发表于 2014-7-16 17:43:30 | 显示全部楼层 |阅读模式
本帖最后由 yulinxx 于 2014-7-16 17:56 编辑
  1.         CString strPath;
  2.         GetModuleFileName(NULL, strPath.GetBufferSetLength(MAX_PATH+1),MAX_PATH);
  3.         strPath.ReleaseBuffer();

  4.         int nPos = strPath.ReverseFind('\\');
  5.         strPath = strPath.Left(nPos);
  6.         strPath += _T("\\mymap.earth");
  7.        
  8.         USES_CONVERSION;
  9.         char * pFileName = T2A(strPath);   
  10.         m_Model = osgDB::readNodeFile(pFileName);        // 读取程序目录下面的earth文件
复制代码



怎么不行呢?  字符串转换也是成功了的
读取完后
m_Model = {_ptr=0x00c77f80 }
这个指针有值

如果将这个文件删除的话,指针值为空
m_Model = {_ptr=0x00000000 }

看样子是读取进来了,但是为什么不显示呢?



==== 其他 ======================================
转换结果是:
pFileName = 0x0032eca0 "D:\OSGEarthMFC\Debug\mymap.earth"
用此路径不行

-----------------------------------
如果用下面这样 绝对路径的话,就可以正常运行
m_Model = osgDB::readNodeFile("D:\\mymap.earth");        // 绝对路径



该用户从未签到

发表于 2014-7-16 18:03:39 | 显示全部楼层
我也遇到同样的问题,做com控件时,相对路径没法使用,绝对路径可以。在vs工程中,进行调试相对路径,发现数据读取进去了,但是实际使用的时候,没有显示

该用户从未签到

 楼主| 发表于 2014-7-17 14:19:49 | 显示全部楼层
ysw 发表于 2014-7-16 18:03
我也遇到同样的问题,做com控件时,相对路径没法使用,绝对路径可以。在vs工程中,进行调试相对路径,发现 ...

难道真和MFC兼容性不好??

该用户从未签到

发表于 2014-8-5 10:49:04 | 显示全部楼层
我也遇到过,没办法,只能将绝对路径作为一个参数传给COM

该用户从未签到

发表于 2014-9-16 10:28:23 | 显示全部楼层
请教下楼主,MFC和osgearth如何结合使用呢,能否给个简单的例子
或者给个思路也行,十分感谢

该用户从未签到

 楼主| 发表于 2014-10-29 15:24:02 | 显示全部楼层
天雷 发表于 2014-9-16 10:28
请教下楼主,MFC和osgearth如何结合使用呢,能否给个简单的例子
或者给个思路也行,十分感谢

http://hi.baidu.com/yulinxx_/item/99cf091fb81d415a3a176ea9
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

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

联系我们

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