Chinaunix首页 | 论坛 | 博客
  • 博客访问: 522329
  • 博文数量: 252
  • 博客积分: 6057
  • 博客等级: 准将
  • 技术积分: 1635
  • 用 户 组: 普通用户
  • 注册时间: 2009-12-21 10:17
文章分类

全部博文(252)

文章存档

2013年(1)

2012年(1)

2011年(32)

2010年(212)

2009年(6)

分类: C/C++

2010-05-13 11:35:18



发表于: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
引用 5 楼 topwork 的回复:
导出一个函数,创建这个抽象类的实例,把指针返回给调用者就行了。


哦,明白了...


------------------------------





阅读(696) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~