如:
点击A窗口的一个button按纽:
procedure Tmonimain.lblW_E44FClick(Sender: TObject);
begin
screen.Cursor:=crHourGlass;
lblW_E44F.Enabled:=false;//省略一部分代码setrateprice.Showmodal;
screen.Cursor:=crdefault;
lblW_E44F.Enabled:=true;end;以下是点击B窗口的“确定保存”按纽:
procedure Tsetrateprice.Tsbn_101Click(Sender: TObject);
begin
screen.Cursor:=crHourGlass;
Tsbn_101.Enabled:=false;//中间这段是对oracle数据库进行的一些读写操作,比较耗时,大约要10秒。screen.Cursor:=crdefault;
Tsbn_101.Enabled:=true;setrateprice.hide;
setrateprice.close;end;我的流程是:点击A窗口的button1按纽打开B窗口,在B窗口中输入完资料后点“保存”,然后将保存成功或失败的信息显示在A窗口的memo1上面,再自动关闭B窗口。但现在的问题是:B窗口有时能自动关闭,有时却又不能,为什么?
请各位大虾指点!对于这种流程的设计大家通常是如何处理的?先谢了。
点击A窗口的一个button按纽:
procedure Tmonimain.lblW_E44FClick(Sender: TObject);
begin
screen.Cursor:=crHourGlass;
lblW_E44F.Enabled:=false;//省略一部分代码setrateprice.Showmodal;
screen.Cursor:=crdefault;
lblW_E44F.Enabled:=true;end;以下是点击B窗口的“确定保存”按纽:
procedure Tsetrateprice.Tsbn_101Click(Sender: TObject);
begin
screen.Cursor:=crHourGlass;
Tsbn_101.Enabled:=false;//中间这段是对oracle数据库进行的一些读写操作,比较耗时,大约要10秒。screen.Cursor:=crdefault;
Tsbn_101.Enabled:=true;setrateprice.hide;
setrateprice.close;end;我的流程是:点击A窗口的button1按纽打开B窗口,在B窗口中输入完资料后点“保存”,然后将保存成功或失败的信息显示在A窗口的memo1上面,再自动关闭B窗口。但现在的问题是:B窗口有时能自动关闭,有时却又不能,为什么?
请各位大虾指点!对于这种流程的设计大家通常是如何处理的?先谢了。
Action:=cafree
setrateprice.hide;
setrateprice.Action:=cafree; //这行编译通不过呀?
setrateprice.close;
begin
screen.Cursor:=crHourGlass;
Tsbn_101.Enabled:=false; //中间这段是对oracle数据库进行的一些读写操作,比较耗时,大约要10秒。 screen.Cursor:=crdefault;
Tsbn_101.Enabled:=true;
Close; //确保程序执行到这一句。
end;
我感觉就是程序有时没能执行close;这句。
这时的form2窗口点关闭也关闭不了,没有反应。第一次见到这种奇怪的问题。
form1的按纽中用:setrateprice.Show;form2的“确定提交”按纽中用:
try
hide;
close;
finally
setrateprice.Show;
hide;
close;
end;
就可以了。但不知为什么会这样,是不是delphi的bug?
等一会结贴。