怎么能把一个FORM编译成为一个动态链接库,在别的FORM里调用?(100分)

  • 主题发起人 主题发起人 albertzhoucn
  • 开始时间 开始时间
A

albertzhoucn

Unregistered / Unconfirmed
GUEST, unregistred user!
我在FORM里使用了第三方的控件,并编写了一些代码,
请问我如何能够将我这个FORM封装成为一个DLL,
以便别人无法看到我的源码,而我又能在另一个窗口中调用这个被封装了的FORM。
 
制作DLL和一般的EXE文件没什么大的不同,只不过是需要修改一下项目文件.
如下步骤修改项目文件:
1.将第一行的保留字program改为library;
2.将uses子句中的forms删除,并添加sharemem单元,这个文件用于共享内存,
3.将uses子句后加入保留字export,后面带过程名和分号
4.删除begin...end之间的代码.
再编译该项目,就可以生成DLL文件了.

调用DLL
1.在调用DLL的项目文件的uses部分添加sharemem单元,
项目文件中的过程名和参数类型必须和DLL中的一样,另外,过程中要用到external指定
动态链接库名.
 
上面的基本已经答完了
 
我的主页上有应用dll调用密码窗体
http://sundelphi.yeah.net
 
我有一个其它方法
******先新建一个新DLL如下:
library ‘DLL的名称’;
uses
forms,//包含FROMS单元
SysUtils,
Classes,
‘你的FORM名称’ in 'FORM的单元文件' ;//把你的FORM加入到这个DLL中

{$R *.RES}

procedure ‘过程名称’; stdcall; //新建一个过程
var
XXX:你的FORM的类型;
begin
XXX := 你的FORM的类型.Create(主程序局柄);//;
XXX.show;
end;
exports
‘过程名’;
end.

****调用DLL
跟调用普通的DLL即可
 
正好,刚帖过一个,来看看吧!
http://www.delphibbs.com/delphibbs/dispq.asp?lid=1005844
 
哈,我的系统基本上是用DLL模块的。有意可向我要源码
FASTER@YYHJ.COM.CN
 
后退
顶部