怎样才能把EXE文件变小?(100分)

  • 主题发起人 主题发起人 天什
  • 开始时间 开始时间

天什

Unregistered / Unconfirmed
GUEST, unregistred user!
我在编数据管理软件,会产生许多的form,
这样就使得exe文件变得很大,怎样才能使它变小呢?
 
找个软件优化优化
 
aspack软件压缩一下
 
project->options->packages 下,选中Build with runtime packages.
但发行时需要带上vcl50.bpl 这个文件
 
Aspack is very good!
如果压缩了还有好几兆的话就可以考虑使用*.bpl了(每个Form只有几十K——未压缩!)。
具体方法:
Run--Project Options--Packages--选中Build with runtime packages
 
http://www.ocloud.com/download/softlist.php?category=77
 
aspack2.11 &&
crackfile
http://soft.iszero.com/shengcheng/1521.htm
 
1.用dll
2.把图象文件放在外面,用的时候再loadfromfile
3.多写些公用的Produrce、function,很多构件可以在用的时候才Create;
 
用upx 或者Aspack压缩
 
Aspack压缩最好.
 
用dll能把一个form包含在里面吗?
如果能,怎样才打开这个form呢?
 
UPX比Aspack的压缩比高(压缩速度似乎也更快)。我做了试验,分别压缩了一个1.4M和2.2M
的exe文件,Aspack的压缩率均为38%,UPX为34.6%和35.2%,用UPX压缩出的文件均比用AsPack
压缩的小数十K,如果exe文件更大,差距可以达到百多K。
实际上,你可以把一整个程序包在DLL里(不光是Form),作法很简单,把项目文件的program
关键字改为library,再把项目文件中从begin
到end.
之间的代码写在一个函数中,导出这个函
数就可以了。
library Project1;
//改program关键字为library
uses
Windows,
Forms,
Unit1 in 'Unit1.pas' {Form1};
{$R *.RES}
procedure RunApp;
begin
Application.Initialize;
Application.CreateForm(TForm1, Form1);
Application.Run;
end;

exports
RunApp;
end.

调用DLL时,只要调用RunApp函数就可以打开整个程序了。
 
多用DLL,可以减小EXE文件大小。
Build with runtime packages
 
如果一个form里还调用了几个form,也可以一起放到一个dll中吗?
应怎样做呢?
 
使用XCL代替VCL,不过代码嘛……
不要问我,我没有,自己找去……
 
XCL??还是CLX?
 
不是说有kol了吗?
可是那个网站我上不去
http://xcl.cjb.net/
 
你做好了DLL调用接口后,其它与之相关的FORM跟正常的没有两样,多试一下,
Luck to you !
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
后退
顶部