[请教高手]关于系统初始化

mathsfan 2009-07-09 10:48:45
这里假定代码:
initialization
...
frm:=Tfrm.Create(nil);
frm.ShowModal;
代码A
而我在frm中点某个按钮时又弹出B窗体,有无办法弹出B窗体前先执行初始化的“代码A”,
注意:frm.ShowModal,frm必须为ShowModal形式。
...全文
47 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
haitao 2009-07-09
  • 打赏
  • 举报
回复
把弹出A窗体前的初始化代码写成一个函数init1
把剩余的初始化代码(也就是代码A)写成一个函数init2

initialization

init1;
frm:=Tfrm.Create(nil);
frm.ShowModal;
// 代码A

在formA.btnxxOnClick()里
begin
init2;
formB.showmodal;
end;
mathsfan 2009-07-09
  • 打赏
  • 举报
回复
这么说吧,我在initialization里做了很多初始化的动作,初始化时我要弹出A窗体,因为是ShowModal形式,所以剩余的初始化代码并不会执行,在A窗体里面点某个按钮后再继续执行余下的初始化代码。
等待高人出现...
haitao 2009-07-09
  • 打赏
  • 举报
回复
其实,都可以在frm的那个按钮的点击事件里先执行“代码A”啊
haitao 2009-07-09
  • 打赏
  • 举报
回复
让B窗体的OnActive事件来执行“代码A”,
不过,OnActive事件会被频繁触发,还需要加一个状态量来控制只执行一次

5,388

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧