dll中导出类--delphi实战之一
作者: musicwind®
创建时间: 2001-11-01
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
更新历史:no.1
更新时间:2001-11-01 20:09
更新人员:musicwind®
更新备注:初稿完成。
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
摘要:
本文讨论的是如何在dll中导出类——基于某个特定的抽象类的许多子类。这种技术运用了多态的思想,使得我们得到类似于插件的效果。
预期读者:
了解多态的概念;了解元类的概念。
技术难度:
6/10。
从dll中导出类,想必大家首先想到的是使用bpl包。这种方式有一个不好,那就是使用者必须清楚这个包中含有那些类,也就是说必须知道类的名字——这在一定意义上是个限制,试想一种情况,使用者定义了一个底层的抽象类(abstract class),然后在此基础上定义了许多应用类(concrete class),那么,对于使用者来说,他希望在不知道具体有哪些类的情况下能使用这些类——这么说似乎有些玄,但实际情况确实如此,因为定义抽象类的时候并不能预料到以后会有多少个具体类——那么这样的需求,要靠什么样的技术来实现呢?