我的应用程序有四个窗体;
分别是login,form1,form2,form3
其中login是启动登陆窗体,其formstyle:=fsNormal,
form1.formstyle:=fsMDIForm
form2.formstyle:=fsMDIchild要求程序一启动就显示login,然后由login调用form1,然后又form1调用form2但是启动就出错,
错误提示是"cannot create form,No MDIforms are currently avtive'工程文件应该怎么写?
各窗体的有关代码应该怎么写才不出错
分别是login,form1,form2,form3
其中login是启动登陆窗体,其formstyle:=fsNormal,
form1.formstyle:=fsMDIForm
form2.formstyle:=fsMDIchild要求程序一启动就显示login,然后由login调用form1,然后又form1调用form2但是启动就出错,
错误提示是"cannot create form,No MDIforms are currently avtive'工程文件应该怎么写?
各窗体的有关代码应该怎么写才不出错
Forms,
Unit1 in 'Unit1.pas' {Form1},
Unit2 in 'Unit2.pas' {Form2},
Unit3 in 'Unit3.pas' {Form3},
Unit4 in 'Unit4.pas' {Login};{$R *.res}begin
Application.Initialize;
Login := TLogin.Create(application);
Login.ShowModal;
Application.Title :='Test';
Application.CreateForm(TForm1, Form1);
Login.Hide ;
Login.Release;
Application.Run;
end.-------------------------------unit Unit1;interfaceuses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;type
TForm1 = class(TForm)
Btn_ShowForm2: TButton;
Btn_ShowForm3: TButton;
procedure Btn_ShowForm2Click(Sender: TObject);
procedure Btn_ShowForm3Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;var
Form1: TForm1;implementation
uses Unit2, Unit3;
{$R *.dfm}procedure TForm1.Btn_ShowForm2Click(Sender: TObject);
begin
if Not Assigned(Form2) then
begin
Form2 := TForm2.Create(self);
end;
Form2.Show;
end;procedure TForm1.Btn_ShowForm3Click(Sender: TObject);
begin
if Not Assigned(Form3) then
begin
Form3 := TForm3.Create(self);
end;
Form3.Show;
end;end.------------------------------unit Unit2;interfaceuses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs;type
TForm2 = class(TForm)
private
{ Private declarations }
public
{ Public declarations }
end;var
Form2: TForm2;implementation{$R *.dfm}end.-------------------------------unit Unit3;interfaceuses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs;type
TForm3 = class(TForm)
private
{ Private declarations }
public
{ Public declarations }
end;var
Form3: TForm3;implementation{$R *.dfm}end.-----------------------------------unit Unit4;//Login窗体的单元interfaceuses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;type
TLogin = class(TForm)
BtnLogin: TButton;
procedure BtnLoginClick(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;var
Login: TLogin;implementation{$R *.dfm}procedure TLogin.BtnLoginClick(Sender: TObject);
begin
Login.ModalResult:=mrok;
end;end.
Application.Initialize;
Application.CreateForm(TLogin, Login);//fsNormal 这里不能这么创建,必须用下面的方式创建
Login:=TLogin.Create(Application);
Login.Show;
Application.CreateForm(TMain, Main);//fsMDIForm
Application.CreateForm(TChild1, Child1);//fsMDIChild
Application.CreateForm(TChild2, Child2);//fsMDIChild
Application.Run;
end.
Application.Initialize;
//Application.CreateForm(TLogin, Login);//fsNormal 这里不能这么创建,必须用下面的方式创建
Login:=TLogin.Create(Application);
Login.Show;
Application.CreateForm(TMain, Main);//fsMDIForm
Application.CreateForm(TChild1, Child1);//fsMDIChild
Application.CreateForm(TChild2, Child2);//fsMDIChild
Application.Run;
end.
~~~~~~~~~~~~~~~~~~这就是刚才你给我发站内短信问的问题的解决办法。