现在遇到一个问题,有三个窗体frmLogin,frmMain,frmMDIChild三个窗体frmMain为MDI父窗体,frmChild为子窗体。
问题是当我的:
program project1;uses
Forms,
MAIN in 'MAIN.PAS' {frmMain},
about in 'MDIChild.pas' {frmchild},
login in 'login.pas' {frmLogin};{$R *.RES}begin
Application.Initialize;
Application.CreateForm(frmMain, frmMain);
Application.CreateForm(TfrmLogin, frmLogin);
Application.Run;
end.
当我点frmMain上的button显示frmMDI时Child没有问题,若代码如下program project1;uses
Forms,
MAIN in 'MAIN.PAS' {frmMain},
about in 'MDIChild.pas' {frmchild},
login in 'login.pas' {frmLogin};{$R *.RES}begin
Application.Initialize;
Application.CreateForm(TfrmLogin, frmLogin);
Application.CreateForm(frmMain, frmMain);
Application.Run;
end.
先显示frmLogin窗体,然后显示frmMain之后点击button想显示frmMDIChild时就会出现错误,想问问该怎样解决??
问题是当我的:
program project1;uses
Forms,
MAIN in 'MAIN.PAS' {frmMain},
about in 'MDIChild.pas' {frmchild},
login in 'login.pas' {frmLogin};{$R *.RES}begin
Application.Initialize;
Application.CreateForm(frmMain, frmMain);
Application.CreateForm(TfrmLogin, frmLogin);
Application.Run;
end.
当我点frmMain上的button显示frmMDI时Child没有问题,若代码如下program project1;uses
Forms,
MAIN in 'MAIN.PAS' {frmMain},
about in 'MDIChild.pas' {frmchild},
login in 'login.pas' {frmLogin};{$R *.RES}begin
Application.Initialize;
Application.CreateForm(TfrmLogin, frmLogin);
Application.CreateForm(frmMain, frmMain);
Application.Run;
end.
先显示frmLogin窗体,然后显示frmMain之后点击button想显示frmMDIChild时就会出现错误,想问问该怎样解决??
解决方案 »
- Delphi XE4 For IOS真机调试配置教程
- DBGrid 使用PopupMenu
- 靠一睁眼2005年了,散分
- 如何在DBGRID的某一列添加COMBOX控件?急啊,会的兄弟姐妹帮忙!
- 訪問SQL Server數據庫使用ADO快還是dbExpress快呢,
- 如何把DateTimePicker里面的日期转化为?
- 请问有不有这样一个控件?一个透明的Panel在上面放一个不规则的图形,在图形没覆盖的地方能直接点击下面的控件!有这样的东东吗?
- 有谁听过PROGRESS数据库及开发工具,有软件及资料的下载网址吗?
- 遍历空间的问题,请教!!请教
- 如何将Excel文件转为Access库表,并将Access库表生成Txt文件?先谢谢了!!!
- 求 DevExpress QuantumGrid Suite v4.5.2 Full For Delphi6 控件
- 三层数据库的问题。在线等
弹出警告窗口:cannot Create form.NO MDI forms are currently active
procedure TMainForm.f1Click(Sender: TObject);
begin
if not Assigned(frmchild) then
begin
frmchild:= Tfrmchild.Create(Application);////执行到这里就出现问题
frmchild.Show;
end
end;
改为 frmLogin:=TfrmLogin.Create(nil);
也就是说Application.CreateForm(TfrmLogin, frmLogin);只能放在后面写
Application.CreateForm(TfrmLogin, frmLogin);//这样写的话把frmLogin作为主窗体
改为 frmLogin:=TfrmLogin.Create(nil);
我按照这个改可是却变成frmMain为先显示了
Application.CreateForm(frmMain, frmMain);
Application.CreateForm(TfrmLogin, frmLogin);
在frmLogin的Close事件中,Application.ShowMainForm := True;