dll中导出类怎么动态调用比较方便?

DLL是自己建的,本来可以静态调用的。但每个dll只负责一个功能模块,在不需要某功能时这dll也就不用了,而且还方便按模块更新。如果静态导入,必须DLL齐才主程序能运行。问题就是,怎样动态调用DLL中的类?不要猥琐代码~

作者: ccnyou   发布时间: 2011-06-16

导出一个函数创建类的对象,再导出一个函数销毁这个对象。

作者: hiroyukki   发布时间: 2011-06-16

建议参考UG NX的用户DLL调用方式。

指定一个固定的文件夹名称,加载该文件夹下所有的DLL。

如果你不需要某个DLL,则把它从该文件夹移出来即可。

作者: super_admi   发布时间: 2011-06-16

如果可以的话,在主程序中,维护一个函数地址与字符串的列表。当需要使用某个功能时,根据字符串去识别函数。要求:函数参数形式要统一。

每次增加DLL时,往这个列表中加一个函数地址与字符串,此为注册。

另外,增加一个规则:每个DLL在加载时,运行一个固定的函数进行注册。

作者: super_admi   发布时间: 2011-06-16

引用 1 楼 hiroyukki 的回复:

导出一个函数创建类的对象,再导出一个函数销毁这个对象。

+只会这么玩

作者: zhouganghao   发布时间: 2011-06-16

可以使用隐式加载
不过像你说的 主函数运行还是需要有DLL

作者: q191201771   发布时间: 2011-06-16

是主程序
其实就是调用方
引用 5 楼 q191201771 的回复:
可以使用隐式加载
不过像你说的 主函数运行还是需要有DLL

作者: q191201771   发布时间: 2011-06-16

我是想,在没A.dll情况下其它功能还正常A.DLL负责的模块功能不能使用而已

作者: ccnyou   发布时间: 2011-06-16

动态调用,load的时候判断一下就可以了,
如果加载失败了,使该模块负责的菜单变灰或者消失都可

作者: Delelebug   发布时间: 2011-06-16