有如下一段程序,运行时,在第一个窗口按按钮能打开第二个窗口,在第二个窗口按第一个按钮能打开第三个窗口,但在第二个窗口按第二个按钮不能打开第四个窗口,不知何解,望有高手能指出。
program Project1;uses
Forms,
Unit1 in 'Unit1.pas' {Form1},
Unit2 in 'Unit2.pas' {Form2},
Unit3 in 'Unit3.pas' {Form3},
Unit4 in 'Unit4.pas' {Form4};{$R *.res}begin
Application.Initialize;
Application.CreateForm(TForm1, Form1);
Application.Run;
end.//第一单元unit Unit1;interfaceuses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;type
TForm1 = class(TForm)
Button1: TButton;
Label1: TLabel;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;var
Form1: TForm1;implementation
uses unit2;
{$R *.dfm}procedure TForm1.Button1Click(Sender: TObject);
var
form2 : TForm2;
begin
form2 := TForm2.Create(self);
form2.ShowModal;
form2.free;
end;end.
//第二单元unit Unit2;interfaceuses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ExtCtrls,StdCtrls;type
TForm2 = class(TForm)
Button1: TButton;
Label2: TLabel;
Button2: TButton;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;var
Form2: TForm2;implementation
uses unit3, unit4;
{$R *.dfm}procedure TForm2.Button1Click(Sender: TObject);
var
form3 : TForm3;
begin
form3 := TForm3.Create(self);
form3.ShowModal;
form3.free;
end;procedure TForm2.Button2Click(Sender: TObject);
var
form4 : TForm4;
begin
form4 := TForm4.Create(self);
form4.ShowModal;
form4.free;
end;end.
//第三单元
unit Unit3;interfaceuses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;type
TForm3 = class(TForm)
Label1: TLabel;
private
{ Private declarations }
public
{ Public declarations }
end;var
Form3: TForm3;implementation{$R *.dfm}end.
//第四单元unit Unit4;interfaceuses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;type
TForm4 = class(TForm)
Label1: TLabel;
private
{ Private declarations }
public
{ Public declarations }
end;var
Form4: TForm4;implementation{$R *.dfm}end.
program Project1;uses
Forms,
Unit1 in 'Unit1.pas' {Form1},
Unit2 in 'Unit2.pas' {Form2},
Unit3 in 'Unit3.pas' {Form3},
Unit4 in 'Unit4.pas' {Form4};{$R *.res}begin
Application.Initialize;
Application.CreateForm(TForm1, Form1);
Application.Run;
end.//第一单元unit Unit1;interfaceuses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;type
TForm1 = class(TForm)
Button1: TButton;
Label1: TLabel;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;var
Form1: TForm1;implementation
uses unit2;
{$R *.dfm}procedure TForm1.Button1Click(Sender: TObject);
var
form2 : TForm2;
begin
form2 := TForm2.Create(self);
form2.ShowModal;
form2.free;
end;end.
//第二单元unit Unit2;interfaceuses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ExtCtrls,StdCtrls;type
TForm2 = class(TForm)
Button1: TButton;
Label2: TLabel;
Button2: TButton;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;var
Form2: TForm2;implementation
uses unit3, unit4;
{$R *.dfm}procedure TForm2.Button1Click(Sender: TObject);
var
form3 : TForm3;
begin
form3 := TForm3.Create(self);
form3.ShowModal;
form3.free;
end;procedure TForm2.Button2Click(Sender: TObject);
var
form4 : TForm4;
begin
form4 := TForm4.Create(self);
form4.ShowModal;
form4.free;
end;end.
//第三单元
unit Unit3;interfaceuses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;type
TForm3 = class(TForm)
Label1: TLabel;
private
{ Private declarations }
public
{ Public declarations }
end;var
Form3: TForm3;implementation{$R *.dfm}end.
//第四单元unit Unit4;interfaceuses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;type
TForm4 = class(TForm)
Label1: TLabel;
private
{ Private declarations }
public
{ Public declarations }
end;var
Form4: TForm4;implementation{$R *.dfm}end.
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货