多窗体问题100大洋奉上!(100分)

  • 主题发起人 主题发起人 wanxu
  • 开始时间 开始时间
W

wanxu

Unregistered / Unconfirmed
GUEST, unregistred user!
Cannot Create Form,No MDI Forms are currently Active!
这是什么错误?我应该怎样解决?希望能够说道点子上![:(]
 
你用的是不是MDI窗口呀?
 
你是调用DLL中的FORM吗?该DLL如果用BUILD WITH RUN TIME PACKAGE选项编译的话,
应该没有问题,否则,你要把APPLICATION当作参数传入DLL。

APPLICATION是一个PACKAGE内的全局变量,你如果BUILD WITH RUN TIME PACKAGE,那么
由于调用的是同一个包,APPLICATION的值是相同的,否则,就是不同的。
 
[red]wanxu,waxu, , 你这个作弊者已经上了黑名单[/red]
 
我用的是MDI窗口,想打开其中的子窗口,但是出现了上面所说的错误!
 
wjiachun:
; ; 我不是有意的.我第一次是用waxu注册的,但是后来我的密码搞忘了.
后来就注册了wanxu,但是我的密码后来又找到了.没有办法.你能说有两个
ID就是在作弊吗?你可以看看我提问题的历史记录.看看我到底作弊没有!
我光明正大我怕谁!如果我要作弊,我就不会用一个email注册了!你说呢?
 
主窗口的FormStyle :=fsMDIForm;
子窗体的FormStyle :=fsMDIChild;
 
你没有把父窗体的active设成true.
 
激活父窗体
 
boy1979,一剑封喉:
; ;怎样激活父窗体?用哪一条语句!
 
在project中的option把MDI form设为autocreate form就可以了
代码:
 
在program单元,把所有的子窗体的创建语句放到父窗体后,
; ; Application.Initialize;
; ; SplashForm:=TSplashForm.Create(application);
; ; try
; ; ; SplashForm.show;
; ; ; SplashForm.refresh;
; ; ; Application.CreateForm(TDataForm, DataForm);
; ; ; SplashForm.refresh;
; ; ; Application.CreateForm(TMainForm, MainForm);
; ; ; SplashForm.refresh;
; ; ; Application.CreateForm(TchildForm, childForm1);
; ; ; Application.CreateForm(TchildForm, childForm2);
...
...
...
; finally
; ; ; SplashForm.free;
; ; end;
; ; Application.Run;
给分。。。[:)]
 
thssadfrog:
; ;你写的代码我看不懂!能不能解释一下?谢谢!![:(]
 
Cannot Create Form,No MDI Forms are currently Active!
这个问题可能是因为你创建子窗口时,父窗口尚未激活。
具体回答可能需要你把程序出错前的执行情况描述一下。
 
就是我先建立了一个登陆的一般窗体,登陆成功后再创建父窗体,通过父窗体打开子窗体的
时候就出错了!
 
可能是你创建子窗口的语句放在父窗口之前了,或者在父窗口的create过程中创建子窗口,
查看一下,继续交流!
 
我这儿有关于MDI程序方法的源代码,只有3个窗体,示例了创建MDI程序的各个要点,
如感兴趣,给我E-mail:renzhm@163.net,我给你发一份。
 
多人接受答案了。
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
I
回复
0
查看
555
import
I
I
回复
0
查看
845
import
I
后退
顶部