|
本帖最后由 yulinxx 于 2014-7-16 17:56 编辑
- CString strPath;
- GetModuleFileName(NULL, strPath.GetBufferSetLength(MAX_PATH+1),MAX_PATH);
- strPath.ReleaseBuffer();
- int nPos = strPath.ReverseFind('\\');
- strPath = strPath.Left(nPos);
- strPath += _T("\\mymap.earth");
-
- USES_CONVERSION;
- char * pFileName = T2A(strPath);
- 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"); // 绝对路径
|
|