dll中导出类怎么动态调用比较方便?
DLL是自己建的,本来可以静态调用的。但每个dll只负责一个功能模块,在不需要某功能时这dll也就不用了,而且还方便按模块更新。如果静态导入,必须DLL齐才主程序能运行。问题就是,怎样动态调用DLL中的类?不要猥琐代码~
作者: ccnyou 发布时间: 2011-06-16
导出一个函数创建类的对象,再导出一个函数销毁这个对象。
作者: hiroyukki 发布时间: 2011-06-16
建议参考UG NX的用户DLL调用方式。
指定一个固定的文件夹名称,加载该文件夹下所有的DLL。
如果你不需要某个DLL,则把它从该文件夹移出来即可。
指定一个固定的文件夹名称,加载该文件夹下所有的DLL。
如果你不需要某个DLL,则把它从该文件夹移出来即可。
作者: super_admi 发布时间: 2011-06-16
如果可以的话,在主程序中,维护一个函数地址与字符串的列表。当需要使用某个功能时,根据字符串去识别函数。要求:函数参数形式要统一。
每次增加DLL时,往这个列表中加一个函数地址与字符串,此为注册。
另外,增加一个规则:每个DLL在加载时,运行一个固定的函数进行注册。
每次增加DLL时,往这个列表中加一个函数地址与字符串,此为注册。
另外,增加一个规则:每个DLL在加载时,运行一个固定的函数进行注册。
作者: super_admi 发布时间: 2011-06-16
引用 1 楼 hiroyukki 的回复:
导出一个函数创建类的对象,再导出一个函数销毁这个对象。
导出一个函数创建类的对象,再导出一个函数销毁这个对象。
+只会这么玩
作者: zhouganghao 发布时间: 2011-06-16
可以使用隐式加载
不过像你说的 主函数运行还是需要有DLL
不过像你说的 主函数运行还是需要有DLL
作者: q191201771 发布时间: 2011-06-16
是主程序
其实就是调用方
其实就是调用方
引用 5 楼 q191201771 的回复:
可以使用隐式加载
不过像你说的 主函数运行还是需要有DLL
可以使用隐式加载
不过像你说的 主函数运行还是需要有DLL
作者: q191201771 发布时间: 2011-06-16
我是想,在没A.dll情况下其它功能还正常A.DLL负责的模块功能不能使用而已
作者: ccnyou 发布时间: 2011-06-16
动态调用,load的时候判断一下就可以了,
如果加载失败了,使该模块负责的菜单变灰或者消失都可
如果加载失败了,使该模块负责的菜单变灰或者消失都可
作者: Delelebug 发布时间: 2011-06-16