起步软件技术论坛-X3

 找回密码
 立即注册
搜索
查看: 314|回复: 12

【搞定】跳出窗体的问题**

[复制链接]
发表于 2007-5-29 08:32:55 | 显示全部楼层 |阅读模式
为了跳出的主窗体不要占满整个窗体,而是一个对话框跳出来,就写了下面的代码:
  protected
    {protected declarations}
    procedure DoRun; override;
  public
    {public declarations}
  end;

implementation

procedure TTDYZBRZGLDL.DoRun;
var
  lForm:TDLCT;
begin
  lForm:=TDLCT.Create(Self.context);
  try
    lForm.ShowModal;
  finally
    lForm.Free;
    //self.Terminate;
  end;
end;
可是这样了话,在另外一个功能下
systemcore.TSystemCore.FuncManager.TerminateFunc(fnbDLGN.Func,true);写这个代码想关掉这个窗体,就会跳出下面这个错误(见图),在初始化运行的时候本来如果不加上面的dorun这行代码不会发生这个问题。

snap00014.jpg

21.2 KB, 下载次数: 197

回复

使用道具 举报

发表于 2007-5-29 08:54:43 | 显示全部楼层
为了跳出的主窗体不要占满整个窗体......

这个你把窗体拉小一点,再把窗体属性中的WindowState设为wsNormal。这样你设窗体的大小是怎么样的就怎么样显示了。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-5-29 09:21:23 | 显示全部楼层
不行啊,在协同管理平台看到的是一个占满全部的窗体
回复 支持 反对

使用道具 举报

发表于 2007-5-29 09:29:26 | 显示全部楼层
窗体属性WindowState没有设为wsNormal,当然看到的是一个占满全部的窗体了,我都行,在协同管理平台里.
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-5-29 09:33:10 | 显示全部楼层
我这个由于是主窗体才会自动占满,如果不是主窗体也没有这个问题了
回复 支持 反对

使用道具 举报

发表于 2007-5-29 10:24:24 | 显示全部楼层
1楼的代码,这个功能运行时候显示了一个窗体,然后这个功能就结束了,所以就不能再次结束了
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-5-29 10:32:03 | 显示全部楼层
那怎么样才可以让这个窗体在调用另外一个功能之后,自动关闭呢?或者怎么让主窗体跳一个对话框出来,而不是占满整个窗体呢?
回复 支持 反对

使用道具 举报

发表于 2007-5-29 11:04:51 | 显示全部楼层
procedure TTDYZBRZGLDL.DoRun;
var
  lForm:TDLCT;
begin
  lForm:=TDLCT.Create(Self.context);
  try
    if lForm.ShowModal= mrOk then  SystemCore.TSystemCore.FuncManager.RunFunc(...);
  finally
    lForm.Free;
    //self.Terminate;
  end;
end;

这样就可以保证这个窗体显示之后,调用了另外一个功能,并且自己自动就关闭了
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-5-29 14:48:20 | 显示全部楼层
现在这样是可以了,但是这个功能只能打开一次,关掉之后,想再打开,就必须重新登录平台才可以阿,这个是怎么回事啊
回复 支持 反对

使用道具 举报

发表于 2007-5-29 15:03:47 | 显示全部楼层
你这个功能是干什么的?
回复 支持 反对

使用道具 举报

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

本版积分规则

小黑屋|手机版|Justep Inc.

GMT+8, 2025-1-11 04:24 , Processed in 0.044064 second(s), 18 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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