首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VC/MFC >

应该很简单的有关问题,但是小弟我以前不是做COM方面的不知道,求人帮忙

2012-02-16 
应该很简单的问题,但是我以前不是做COM方面的不知道,求人帮忙。目前我遇到了一个问题,以下是问题描述:有2个

应该很简单的问题,但是我以前不是做COM方面的不知道,求人帮忙。
目前我遇到了一个问题,以下是问题描述:
有2个dll,   a.dll   和   b.dll   。其中   a.dll为我们的提供的函数库的方法。b.dll是对a.dll做了一个com形式的封装,使得可以通过a.dll的注册调用到b.dll的方法。问题在于此:a.dll必须放置到   windows的system32目录下才可以被调用到,否侧就找不到对应的方法。请问如何修改b.dll使得可以让a.dll放置到其他的目录下或者自动找到a.dll的位置?

[解决办法]
b使用了a,然后注册b吧.
b可以隐式或显示调用a,不管哪种调用方式,a的路径都是相对的,也就是说,通过查找路径能找到a就行.
[解决办法]
LoadLibrary( "a.dll ");
会在一下路径中查找a.dll:
b所在的文件夹,system32文件夹,system文件夹,环境变量path所定义的文件夹
[解决办法]
动态载入
将a.dll放到程序目录可能也行的。
[解决办法]
把dll放在程序当前目录下,不用load也是可以找到的。顺便问问,把dll放在system32下有什么不妥吗?到时你的程序打包,也是要把dll打进去的。放在安装目录下,或是放在system32下。
[解决办法]
不大明白LZ的意思,用LoadLibrary不就行了?

热点排行