文件名称:notblack_DllClass
-
所属分类:
- 标签属性:
- 上传时间:2008-10-13
-
文件大小:63.3kb
-
已下载:0次
-
提 供 者:
-
相关连接:无下载说明:别用迅雷下载,失败请重下,重下不扣分!
介绍说明--下载内容来自于网络,使用问题请自行百度
嘿嘿,大侠看到不要见笑呀...
大家都知道使用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
运行...成功,
大家都知道使用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
运行...成功,
(系统自动生成,下载前可以参看下载内容)
下载文件列表
Dll/Dll.dof
Dll/Dll.dpr
Dll/Dll.res
Dll/Unit1.dfm
Dll/Unit1.pas
Dll/Unit2.dfm
Dll/Unit2.pas
Dll
Main/Main.dof
Main/Main.dpr
Main/Main.res
Main/Unit1.dfm
Main/Unit1.pas
Main
Bin/Dll.dll
Bin/Main.exe
Bin
ReadMe.txt
notblack_DllClass.gif
2ccc.com.nfo
Dll/2ccc.com.nfo
www.dssz.com.txt
Dll/Dll.dpr
Dll/Dll.res
Dll/Unit1.dfm
Dll/Unit1.pas
Dll/Unit2.dfm
Dll/Unit2.pas
Dll
Main/Main.dof
Main/Main.dpr
Main/Main.res
Main/Unit1.dfm
Main/Unit1.pas
Main
Bin/Dll.dll
Bin/Main.exe
Bin
ReadMe.txt
notblack_DllClass.gif
2ccc.com.nfo
Dll/2ccc.com.nfo
www.dssz.com.txt
本网站为编程资源及源代码搜集、介绍的搜索网站,版权归原作者所有! 粤ICP备11031372号
1999-2046 搜珍网 All Rights Reserved.