起步软件技术论坛-X3

 找回密码
 立即注册
搜索
查看: 743|回复: 15

【结】如何在creat事件中关闭主窗体[问题]**

[复制链接]
发表于 2008-4-14 10:14:09 | 显示全部楼层 |阅读模式
我运行主窗体时弹出一个条件选择框,如果按确定则继续运行主窗体,如果按取消则关闭条件选择框和主窗体。
http://bbs.justep.com/forum.php?mod=viewthread&tid=3686

这贴我已经看过了,不用再链接。
我按贴子做,方法一和二都是无论按确定和取消都关闭掉窗体,我想按确定时继续运行主窗体怎么做?
回复

使用道具 举报

发表于 2008-4-14 10:17:52 | 显示全部楼层
没看懂需求。
回复 支持 反对

使用道具 举报

发表于 2008-4-14 10:18:58 | 显示全部楼层
create里面是不能关闭窗体的
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-4-14 10:26:48 | 显示全部楼层
procedure TKHWLLQ.BizFormCreate(Sender: TObject);
var
   lqtjForm : TKHWLLQTJ;
begin
     lqtjForm := TKHWLLQTJ.Create(self.Context);
     try
        if lqtjForm.ShowModal = Business.Forms.Controls.mrOk then  //确定时继续运行主窗体,取消时关闭主窗体本身
           Dialogs.ShowMessage('a')
        else
        begin
            close;//这样关闭主窗体本身会出错
        end;
     Finally
            lqtjForm.Free;
     end;
end;
回复 支持 反对

使用道具 举报

发表于 2008-4-14 10:28:17 | 显示全部楼层
create里面是不能关闭窗体的。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-4-14 10:31:22 | 显示全部楼层
那我看一楼链接的那贴是什么意思?
回复 支持 反对

使用道具 举报

发表于 2008-4-14 10:40:29 | 显示全部楼层
方法一、在BizFormShow事件中是无窗体法关闭当前窗体的,如果需要关闭窗体,那么重载功能的DoRun方法,加入调用窗体判断是否进入主窗体!

步骤:
1、打开业务功能,
2、按F12切换到代码页,重载DoRun,代码示例如下:
  TYWGN1 = class(TFunc)
  private
    {private declarations}
  protected
    {protected declarations}
    procedure DoRun; override;
  public
    {public declarations}
  end;

implementation

procedure TYWGN1.DoRun;
begin
  Dialogs.ShowMessage('aa');
  MainForm := nil;
  MainFormName := '';
end;

只要在方法DoRun中有:MainForm := nil; 功能就会终止运行。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-4-14 11:17:51 | 显示全部楼层
我比较蠢,能按一楼的需求给我段代码吗?
回复 支持 反对

使用道具 举报

发表于 2008-4-14 11:23:48 | 显示全部楼层
procedure TKHWLLQGN.DoRun;
var
   lqtjForm : TKHWLLQTJ;
begin
     lqtjForm := TKHWLLQTJ.Create(self.Context);
     if lqtjForm.ShowModal = business.Forms.Controls.mrOk then
        Business.Forms.Dialogs.ShowMessage('bb')
     else
     begin
          Business.Forms.Dialogs.ShowMessage('aa');
          MainForm := nil;
          MainFormName := '';
     end;
end;

怎么判断是否进入主窗体?
上面是点"确定" 时执行:Business.Forms.Dialogs.ShowMessage('bb');
点"取消"时执行:Business.Forms.Dialogs.ShowMessage('aa');
但是不管是点"确定"还是"取消"都不进入主窗体
回复 支持 反对

使用道具 举报

发表于 2008-4-14 11:41:11 | 显示全部楼层
1楼链接是在关闭功能。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Justep Inc.

GMT+8, 2025-7-13 20:47 , Processed in 0.040427 second(s), 15 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表