在工程代码的uses前加入下面代码 { Reduce EXE size by disabling as much of RTTI as possible (delphi 2009/2010) } {$IF CompilerVersion >= 21.0} {$WEAKLINKRTTI ON} {$RTTI EXPLICIT METHODS([]) PROPERTIES([]) FIELDS([])} {$IFEND}例: program Project1; { Reduce EXE size by disabling as much of RTTI as possible (delphi 2009/2010) } {$IF CompilerVersion >= 21.0} {$WEAKLINKRTTI ON} {$RTTI EXPLICIT METHODS([]) PROPERTIES([]) FIELDS([])} {$IFEND} uses Forms, Unit1 in 'Unit1.pas' {Form1}, Unit2 in 'Unit2.pas';{$R *.res}begin Application.Initialize; Application.MainFormOnTaskbar := True; Application.CreateForm(TForm1, Form1); Application.Run; end.这种方法会小一点,但也不是很多,同求更好的解决方案
要么你就不要用 VCL... 直接用API创建窗体 只有 16K
可以用 UPX 或者 aspack 压缩一下 大概 400KB
这样大概就40KB不过运行的时候得安装运行库 BPL
{ Reduce EXE size by disabling as much of RTTI as possible (delphi 2009/2010) }
{$IF CompilerVersion >= 21.0}
{$WEAKLINKRTTI ON}
{$RTTI EXPLICIT METHODS([]) PROPERTIES([]) FIELDS([])}
{$IFEND}例:
program Project1;
{ Reduce EXE size by disabling as much of RTTI as possible (delphi 2009/2010) }
{$IF CompilerVersion >= 21.0}
{$WEAKLINKRTTI ON}
{$RTTI EXPLICIT METHODS([]) PROPERTIES([]) FIELDS([])}
{$IFEND}
uses
Forms,
Unit1 in 'Unit1.pas' {Form1},
Unit2 in 'Unit2.pas';{$R *.res}begin
Application.Initialize;
Application.MainFormOnTaskbar := True;
Application.CreateForm(TForm1, Form1);
Application.Run;
end.这种方法会小一点,但也不是很多,同求更好的解决方案
http://topic.csdn.net/u/20090826/19/c26fea6c-01fe-440b-83bf-444c065c652c.html
这里有说
反正带Form的1M很正常
一直以来都用UPX来压缩,10几M的压缩成几M的.