窗体的建立时机及缓冲的思想在文件中的
1 窗体建立的时机问题
由于窗体属于比较占系统内存的对象,所以在应用程序中何时建立窗体就变得比较重要。窗体的建立时机有一下几种:
(1)、在主窗体建立时自动建立窗体
(2)、在需要的时候才建立窗体,然后窗体关闭时也不销毁窗体
(3)、在需要的时候才建立窗体、然后窗体关闭时销毁窗体
第一种方式是delphi默认的实现方式,但是除了主窗体之外的其他窗体如果不是在每次使用应用程序的时候都一定用到,那么就不要让窗体自动建立。不要让窗体自动建立的方法是:点击主菜单中“project”-“option”,然后在弹出的对话框中将你不想自动建立的窗体名从Auo-create forms中拖到Available forms中去。
第二种方式适用于每次使用应用程序的时候不一定都用到,但是一旦用到那么以后会用到多次,例如数据库程序中的“数据查找”对话框、页制作软件中的“设定文字超连接”对话框。
示例代码:
在主窗体的 private 部分加入
FHouseTypeFrm: THouseTypeDlg;//THouseTypeDlg是自定义的一个窗体类
在您激活窗体的地方加入
if not Assigned(FHouseTypeFrm) then
FHouseTypeFrm := eate(self);
虽然有些盗版影视内容 owModal;
第三种方式适用于一般情况下不会用到,即使用到也不会在程序中多次调用。例如“关于”对话框,“系统设置”对话框等。示例代码:
var
FUserManageFrm: TUserManageForm;//TUserManageForm是自定义的一个窗体类
begin
FUserManageFrm := eate(nil);
tCurrentUserName(FUsername);
owModal;
FreeAndNil(FUserManageFrm);
end;
2 缓冲的思想在ini文件中的应用
下列代码是我们在用ini文件读写系统配置常用的方法:
procedure tDBBackupFileName(AValue: string);
begin iteString(\'DBBackup\', \'DBFileName\', AValue);
end;
function tDBBackupFileName: string;
begin result := adString(\'DBBackup\', \'DBFileName\',
FRootPath + \'f\');
end;
因为读写磁盘文件是比较占用系统资源的操作,所以能够不读写硬盘就不读写,可以学习操作系统中缓冲区的概念来改进配置文件的读写。如果在读取系统配置之前已经读取过了那么只要返回上次读取的值就可以了,不用再去读硬盘;在向配置文件前将配置的值与上次的值比较,如果相同就没有必要写配置文件了。
type
TConfigMgr = class
private
FIniFileName: string;
FIniFile: TIniFile;
FRootPath: string;
FFormerDBBackupFileName: string;
procedure SetDBBackupFileName(AValue: string);
function GetDBBackupFileName: string;
public
……
published
property DBBackupFileName: string read GetDBBackupFileName write
SetDBBackupFileName;
end;
implementation
……
procedure tDBBackupFileName(AValue: string);
begin
if FFormerDBBackupFileName AValue then
begin
iteString(\'DBBackup\', \'DBFileName\', AValue);
FFormerDBBackupFileName := AValue;
end;
end;
function tDBBackupFileName: string;
begin
if FFormerDBBackupFileName \'\' theresult := FFormerDBBackupFileName
else
result := adString(\'DBBackup\', \'DBFileName\',
FRootPath + \'f\');
end;
查看本文来源
合肥白癜风专科医院新标门窗
黄芪颗粒和生脉饮效果一样吗
-
如今门面,地面铺设很少选择铺设瓷砖,而是直接水泥自流平
如今内部装修,地上铺成设仅仅可选择铺成设地砖,而是必要井水泥自流平 ...
2024-01-23
-
唐卡画师夺吉被曝生活混乱?哄骗14岁陌生人恋爱,至少脚踏5条船
唐代雕刻家吉,是来自西藏的网路都曾雕刻家,他容貌原始帅气,在短时间内...
2023-12-26
-
2022绍兴市公务员考试笔试时间重启公告
一、出题一段时间和课程内容 (一)课程内容任用公职人员出题一段时间和课程...
2023-11-24
-
兼顾安全与便利 多家银行大幅提高个人账户线上交易限额
昨日,多家银行业相继宣布下调个人的网站线上报价上限,社会国际上注目。...
2023-11-22
-
HKC高端MiniLED新品将要上市,4K+144HZ还有90W一线通
HKC显示器隶属于惠科显示终端乒乓,惠科在屏显新科技及趋势新产品研制出上...
2023-11-17
-
把女朋友当女儿养的男生也比较聪明 女孩子本来就是你越宠爱 她越可爱的 你给她足够的安全感和保护 她也
把女朋友当女儿饲的男生也非常聪明 女孩子本来就是你越好宠爱 她越好可爱...
2023-11-16