如何把现有的project全部转换成一个dll(分数就这么多了)(47分)

  • 主题发起人 goldbaby
  • 开始时间
为什么没人答??
 
其实把各个文件分别做成DLL,已经实现模块化和代码安全,
所以通常用不着合为一个,那样的话执行效率定会受影(想象
把一个格斯拉装载到内存里),除非你有特殊需要.
 
我是想把已经做完的一个一个小的PROJECT文件转成一个个的DLL 文件
 
实现功能模块,再用dll输出。
 
先把第一行的unit改为关键字library
再填一段exports,将你想输出的函数名丢出来,如
exports
myFun1 name 'myfun1',
myFun2 name 'myfun2';
 
{$E dll}
可以将直接project编绎成$E所指的文件类型,能不能用是另外回事。hoho~~
如:
{$R *.RES}
{$E dll}
begin
Application.Initialize;
Application.CreateForm(TForm1, Form1);
Application.Run;
end.
 
编绎是DLL了,但你还是老老实实的把每个功能的调用写成函数导出,
如在MainForm中导出Show MainForm的函数,即可。如果在dpr中Application.CreateForm有
多个Object,你导出的函数记得加载其它窗体。
如我的dpr中
begin
Application.Initialize;
Application.CreateForm(TDataModule1, DataModule1);
Application.CreateForm(TMainForm1, MainForm1);
Application.Run;
end.

那你导调用MainForm的函数中,要将TDataModule生成一个全局实例在CreateForm MainForm之前。
 
多人接受答案了。
 
顶部