可怜的系统资源啊!50%?!大虾快救救我!SOS! 将各个功能作成分离的DLL模块,模块中需要包括窗体和对应的数据库组件(公用数据库组件也可以根据情况放置在主程序中,使用USE调用主程序单元即可),动态加载这些模块,但关闭时,释放模块空间。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 一点建议:Form根据需要创建,不要在系统初始化的时候自动创建,应该可以节省许许多多的资源。 窗体都是自动创建。程序启动时非常耗资源的,应该把模态窗体(ShowModal的窗体后面我会说名用法)动态创建。而不是让Application 自动创建。把自动创建的窗体改成手工创建的方法是:在 Menu project|Options选项的 Forms Tab页中把要手工创建的窗体移到右边的listbox中也就是 AutoCreate-变为 Available-forms。哪些只需要手工创建您自己拿主意,我觉得自动创建的form 越少越好。除了MainForm, DataModule 、报表窗体和极少数的底层窗体自动创建外其他的窗体全部手工创建。我们动态创建Form2implementation uses Unit2;//(包含Form2)procedure TFrmBackZip.OKBtnClick(Sender: TObject);begin Form2 := TForm2.Create(self); try Form2.ShowModal; finally Form2.Free;//要释放 end;end;另外如果不想用ShowModal;用Show;要这样procedure TFrmBackZip.OKBtnClick(Sender: TObject);begin Form2 := TForm2.Create(self); Form2.Show;//用户可以离开这个窗体干别的事end;这样其他引用的地方要小心了,引用它是先 assigned if Assigned(Form2) then Form2.Show;中间释放这个窗体应该 还加一句 Form2.Free; Form2 := nil; 程序退出时应该监察是否释放了这个窗体对象! if Assigned(Form2) then begin Form2.Free;//这句少不了。 Form2 := nil; end;你应该多看看书.delphi入门到精通讲得不错。 神奇的问题,DBgrid滚动条丢失(请高手帮忙)! Delphi运行问题 如何屏蔽listview的滚动条 ××提供Delphi8的下载×× update 问题 小问题,修改列的名称。 今天加班到6:40才回家,不爽。散分。 欢迎大家来谈谈几种数据库RDBMS的比较。。 如何逐个读取memo里的字符? delphi中如何取得系统日期? 多媒体编程问题!请多指教! 关于TDBChart划线的简单问题
Form根据需要创建,不要在系统初始化的时候自动创建,应该可以节省许许多多的资源。
我们动态创建Form2
implementation
uses Unit2;//(包含Form2)
procedure TFrmBackZip.OKBtnClick(Sender: TObject);
begin
Form2 := TForm2.Create(self);
try
Form2.ShowModal;
finally
Form2.Free;//要释放
end;
end;
另外如果不想用ShowModal;
用Show;要这样
procedure TFrmBackZip.OKBtnClick(Sender: TObject);
begin
Form2 := TForm2.Create(self);
Form2.Show;//用户可以离开这个窗体干别的事
end;这样其他引用的地方要小心了,引用它是先 assigned
if Assigned(Form2) then Form2.Show;
中间释放这个窗体应该 还加一句
Form2.Free;
Form2 := nil;
程序退出时应该监察是否释放了这个窗体对象!
if Assigned(Form2) then
begin
Form2.Free;//这句少不了。
Form2 := nil;
end;你应该多看看书.delphi入门到精通讲得不错。