delphi的showmodal模式

来源:百度文库 编辑:神马文学网 时间:2024/10/04 21:15:32
看了一片文章,说是delphi的showmodal模式可以用其它的两种方式替换。也就是说用另外的方法迂回过去。
procedure TForm1.Button1Click(Sender: TObject);
begin
enablewindow(handle,false);//窗口一不可用
form2.show;
end;
procedure TForm2.FormClose(Sender: TObject; var Action: TCloseAction);
begin
enablewindow(form1.handle,true);//可用
end;
表面上看像是实现了showmodal的功能,其实不然,showmodal模式的一个重要的特点是等待当前的窗体执行完以后才执行下面的代码;
例如:
//***************************************
form1.showmodal;
showmessage(‘Form Close‘);
//*****************************************
只有当form1关闭才执行下面的代码,否则form1会一直占用资源后面的语句永远无法得到执行,而前面的例子中是不会出现这样的效果的,他会直接的顺序执行完所有的代码。
所以这样的代替showmodal的方法是有很大的局限性的,当然我的说法也是很片面,毕竟对delphi了解的不够深,还是初级阶段。