资 源 简 介
嘿嘿,大侠看到不要见笑呀...
大家都知道使用DLL的好处.于是我就想把FORM封装到DLL里面去.
到网上找,发现是MDI和模式窗体的,非模式的也有很多问题.便想自己解决这个问题.
原来是用DLL创建一个对象返回,但发现有很多的问题.
想了半天就去寻根问柳吧.
找到了类.
我就想把类封装进DLL,到时简单的返回一个类,然后在主程序里操作不就简单了?
找了半天发现了TFormClass,于是试了试从DLL导出来,像一般的程序一样创建窗体发现成功.
接着我又想看看其他的类是不是也能这样,就拿TFrame来实验.
function GetDllFrameClass():TFrame stdcall
第一次是这样声明的,失败.奇怪?!
试了好多次都不行,就想到了TFormClass(Ctrl+左键),进去看看,发现是这样声明的.
TFormClass = class of TForm
哎呀,恍然大悟!!
class(TFrame) 是声明一个类, 这个类继承了TFrame类 f: TFrame 是一个对象
class of TFrame 声明的是类类型, f:TFrameClass 是一个类.
function GetDllFrameClass():TFrame
返回就不是类而是对象了,照TFormClass修改后TFrameClass = class of TFrame
运行...成功,