发表于:2007-04-23 20:40:19
毕设遇到问题,向各位好心人求助:
程序框架是这样的,
一个基类是抽象类,有很多派生类,派生类是以DLL的形式动态添加的。当点击对话框中的某个按钮的时候,得到对应DLL文件中的派生类的对象,强制转换为
基类形式后,调用相应的函数。该函数在每个派生类中有具体的实现。C++自动匹配调用的是哪个派生类。
我现在已经写好一个DLL文件,他内部封装了一个CUDPFlood的类,这个类继承自叫做CAttack的基类。
请问:如何才能在MFC中实现动态加载DLL,并得到这个DLL内封装好的类的对象呢?
要求:DLL文件加载后,程序不需要改变也能调用新添加的DLL文件的类方法。
回复于:2007-04-23 20:46:29
写类似RuntimeClass的宏就可以了
回复于:2007-04-24 16:49:01
作成COM组件,实现IDispatch接口
#1
导
出DLL中的类,该类有一个抽象类,给用户这个抽象类的.h文件的话,我怎么得到这个抽象类的子类的实例呢
另外,抽象类的.h文件是否不用改,直接给出. 再另外,子类是否还要用关键字定义为导出类
鄙人菜鸟,望各位相助 |
|
|
------------------------------
#2
不需要导出,有个.h够了,都是类似于COM的原理。
|
|
------------------------------
#3
你说的抽象类就是接口类吧 直接给出.h就行, 不需要导出, 至于怎么得到抽象类的实例, 除了子类主动告诉你,
你是不知道有多少实例的
|
|
------------------------------
#4
自己继承该抽象类的子类,这个子类里面,将抽象类的纯虚函数都继承一下,然后,你就可以用你的子类定义对象了!你的子类是自己用,就不要导出什么的了!
|
|
------------------------------
#5
你自己得有一个创建实现类的方法. 然后抛出哪个抽象类的指针,外边就能用.
|
|
------------------------------
#6
导出一个函数,创建这个抽象类的实例,把指针返回给调用者就行了。
|
|
------------------------------
#7
那这个抛出抽象类子类实例指针的函数,该怎么调用. 拿到抽象类的.h文件,只能定义抽象类的指针变量啊
请稍微具体说说.谢谢
|
|
------------------------------
#8
哦,明白了...
|
|
------------------------------
阅读(729) | 评论(0) | 转发(0) |