点击A窗口的button1按纽打开B窗口,在B窗口中输入完资料后点“保存”,但B窗口有时能自动关闭,有时却又不能,为什么?该怎么处理
点击A窗口的button1按纽打开B窗口,在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窗口有时能自动关闭,有时却又不能,为什么?
请各位大虾指点!对于这种流程的设计大家通常是如何处理的?
先谢了。
------解决方案--------------------
ModalResult:= mrOk
------解决方案--------------------
form2的close里加上这句
Action:=cafree
------解决方案--------------------
procedure Tsetrateprice.Tsbn_101Click(Sender: TObject);
begin
screen.Cursor:=crHourGlass;
Tsbn_101.Enabled:=false;
//中间这段是对oracle数据库进行的一些读写操作,比较耗时,大约要10秒。
screen.Cursor:=crdefault;
Tsbn_101.Enabled:=true;
Close; //确保程序执行到这一句。
end;
如:
点击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窗口有时能自动关闭,有时却又不能,为什么?
请各位大虾指点!对于这种流程的设计大家通常是如何处理的?
先谢了。
------解决方案--------------------
ModalResult:= mrOk
------解决方案--------------------
form2的close里加上这句
Action:=cafree
------解决方案--------------------
procedure Tsetrateprice.Tsbn_101Click(Sender: TObject);
begin
screen.Cursor:=crHourGlass;
Tsbn_101.Enabled:=false;
//中间这段是对oracle数据库进行的一些读写操作,比较耗时,大约要10秒。
screen.Cursor:=crdefault;
Tsbn_101.Enabled:=true;
Close; //确保程序执行到这一句。
end;