Ogre控件在网页中调用的问题

    技术2022-06-25  49

    Ogre做成控件我就不说了, 不复杂, 按控件的做就可以了,  原来做是为了给别的程序调用,  没有什么问题,

    昨天需要让它在浏览器中调用,  麻烦就来了,  这里分享一下, 让新TX很快就避免走同样的老路.

     

     

    在IE中调用主要就是路径的问题,

    Ogre默认初始化时, 调用的Plugins.cfg, Ogre.cfg, Ogre.log, resources.cfg 的路径都是在程序所在的当前目录中调用的,

    而一旦通过浏览器来调用,  拿IE来举例吧,  开始我以为它会首先查找IE浏览器程序所有的目录,  即C:/Program Files/Internet Explorer,

    后来测试发现, 它并不是从这个目录中去查找这些配置文件的,  而是从当前目录下,  很奇怪,  我打印出当前目录, 竟然是: C:/Documents and Settings/Administrator/桌面  (当前目录可能由于各种程序的操作而改变)

     

    所以, 它在桌面上创建了ogre.log, 而Plugins.cfg, ogre.cfg, resources.cfg都找不到, 所以挂掉了.

     

    说到这里其实是费话, 只为了表明一个问题, 就是路径的问题,  解决方法很简单

    在调用这四个文件时,  指定一个绝对路径, 如:

    mRoot= new Root("C:/test/Plugins.cfg","C:/test/ogre.cfg","c:/test/ogre.log");

     

    资源配置文件调用也一样, 使用绝对路径

     

    当然, 我是先查询了一个控件所在的目录, 然后在控件所在的目录来查找, 上面的路径只是举个例子.

     

    第一步解决了, 配置文件的路径都正确了, 程序可以继续下去了,  下面就是这些配置文件中, 指定的插件和资源的路径,

    同样要修改, 改成绝对路径:

     

    比如Plugins.cfg中, 

    PluginFolder=D:/AcitivexTest   //改成实际的插件所在的目录

     

    Resource.cfg中也一样, 指定一下绝对目录就可以了.

     

    大功造成,  可以运行了.


    最新回复(0)