我要发帖 回复

正式会员

6

主题

87

积分

0

专家分

兴趣点(最多三项):

视景仿真

私信
发表时间 : 2014-3-16 13:08:40 | 浏览 : 1081    评论 : 3
用的是MFC,VP工作在线程方式
用CFileDialog打开文件,根据文件配置动态添加物体
如果不用CFileDialog打开文件,动态添加物体都是正常的,但一旦调用过CFileDialog的DoModel函数并返回IDOK,就不能再进行动态添加物体了,跟踪调试发现getRootNode返回为空
这是什么原因,有没有高手解答一下,谢谢了!

最近VR访客

david_m 评论于2014-3-16 13:21:44
不应该吧?用对话框无非就是获取个名字路径,你最好不要用这种方式,因为随便选路径容易有中文,这样就有可能出错。
最好是你绘个列表,然后在列表中选择。与列表项对应有一个你自己定义好的路径,里面放上你的模型。这样选择后,知道了名称,再根据名称或项序号,得到路径和文件名,直接加载就行了。但这样也会有问题,比如加载时间不确定,不能马上就引用,否则没加载完,你引用还是会出错。
建议不要动态加载,或者折衷下,你直接加载但不显示,需要显示时,再改下显示模式从隐藏到显示就可以了。
勤省,笃学,自强
wsclce 评论于2014-3-16 15:37:10
david_m 发表于 2014-3-16 01:21 PM
不应该吧?用对话框无非就是获取个名字路径,你最好不要用这种方式,因为随便选路径容易有中文,这样就有可 ...

找到问题的根源了,说起来有点白痴
在动态添加物体时传递的模型文件名是相对路径,而调用CFileDialog后改变了默认的当前路径,导致模型文件无法找到,在动态添加物体之前先用setcurrentdirectory重新设置一下当前路径就可以啦!!
wsclce 评论于2014-3-16 15:40:42
david_m 发表于 2014-3-16 01:21 PM
不应该吧?用对话框无非就是获取个名字路径,你最好不要用这种方式,因为随便选路径容易有中文,这样就有可 ...

关于路径中包含有中文字符的问题,已经测试过了,可以正常运行,完全没问题
个人理解应该是vp不支持中文路径解析,但vc支持,经过vc编译后即可支持,中文路径完全没问题

手机版|VR开发网 统计 津ICP备18009691号
网安备12019202000257

GMT+8, 2023-1-28 05:34 AM

返回顶部