一个程序有三个窗体,一为主窗体。我在二中调用三。现在我想在三中关闭二应该怎么办? form1 建立中form3.show;form2.show;就可以了 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 你大家想一下,如果想用二调用三比如说显示三吧,那就一定要在二的use部分声明一下三。同时如果想在三中关闭二,那就也得在三的use部分声明一下二。这样一来就会出现“[Fatal Error] Unit2.pas(6): 循环的单元参考 'Unit2'。还是请大家很很的想一下。小弟没想出办法来。 不要自己手动添加其他单元,用菜单中的那个可以解决这个问题,其实在函数的实现前面还有一个Uses 在这里添加就没有循环了 unit3:implementationuses unit2--------------------unit2:implementationuses unit3uses不要放在interface部分 又出错了。“[Error] Unit3.pas(26): ,'或 ';盼望但是 'PROCEDURE'发现”unit Unit3;interfaceuses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls;type TForm3 = class(TForm) Button1: TButton; procedure Button1Click(Sender: TObject); private { Private declarations } public { Public declarations } end;var Form3: TForm3;implementation uses unit2{$R *.DFM}procedure TForm3.Button1Click(Sender: TObject);beginform2.closeend;end.unit Unit2;interfaceuses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls;type TForm2 = class(TForm) Button1: TButton; private { Private declarations } public { Public declarations } end;var Form2: TForm2;implementation uses unit3{$R *.DFM}end.unit Unit2;interfaceuses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls;type TForm2 = class(TForm) Button1: TButton; private { Private declarations } public { Public declarations } end;var Form2: TForm2;implementation uses unit3{$R *.DFM}end. unit Unit1;interfaceuses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, Db, ADODB;type TForm1 = class(TForm) Button1: TButton; procedure Button1Click(Sender: TObject); private { Private declarations } public { Public declarations } end;var Form1: TForm1;implementationuses Unit2;{$R *.DFM}procedure TForm1.Button1Click(Sender: TObject);begin form2.show;end;end.-----------------------------unit Unit2;interfaceuses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls;type TForm2 = class(TForm) Button1: TButton; procedure Button1Click(Sender: TObject); private { Private declarations } public { Public declarations } end;var Form2: TForm2;implementationuses Unit3;{$R *.DFM}procedure TForm2.Button1Click(Sender: TObject);begin form3.show;end;end.-------------------------------------unit Unit3;interfaceuses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls;type TForm3 = class(TForm) Button1: TButton; procedure Button1Click(Sender: TObject); private { Private declarations } public { Public declarations } end;var Form3: TForm3;implementationuses Unit2;{$R *.DFM}procedure TForm3.Button1Click(Sender: TObject);begin form2.close;end;end. procedure onform3close(Sender: TObject);begin form2.close;end; 如何获取文件属性中的“描述”信息(点右键弹出属性框“文件类型”下面那个)? 窗体free与exit有什么区别。线程怎么用啊?学过java里面的线程. 这样作啥还有Invalid Floating Operation 异常? 关于时间的问题 如何提升进程的优先级??越高越好 请问如何重装BDE控件组里的控件 Help & Manual 以中文支持差到了极点,用过的兄弟你是如何用的? 求助:-->> 通过OLE方式创建Access数据库后,怎样在数据库里创建表呢? 2应聘问题,只要应过聘的就能回答30分 请教:为什么专家分会少掉? 讨论:为什么用Delphi??? 关于dll的调用???
implementation
uses unit2
--------------------
unit2:
implementation
uses unit3
uses不要放在interface部分
unit Unit3;interfaceuses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls;type
TForm3 = class(TForm)
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;var
Form3: TForm3;implementation
uses unit2
{$R *.DFM}procedure TForm3.Button1Click(Sender: TObject);
begin
form2.close
end;end.
unit Unit2;interfaceuses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls;type
TForm2 = class(TForm)
Button1: TButton;
private
{ Private declarations }
public
{ Public declarations }
end;var
Form2: TForm2;implementation
uses unit3
{$R *.DFM}end.
unit Unit2;interfaceuses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls;type
TForm2 = class(TForm)
Button1: TButton;
private
{ Private declarations }
public
{ Public declarations }
end;var
Form2: TForm2;implementation
uses unit3
{$R *.DFM}end.
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, Db, ADODB;type
TForm1 = class(TForm)
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;var
Form1: TForm1;implementationuses Unit2;{$R *.DFM}procedure TForm1.Button1Click(Sender: TObject);
begin
form2.show;
end;end.
-----------------------------
unit Unit2;interfaceuses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls;type
TForm2 = class(TForm)
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;var
Form2: TForm2;implementationuses Unit3;{$R *.DFM}procedure TForm2.Button1Click(Sender: TObject);
begin
form3.show;
end;end.
-------------------------------------
unit Unit3;interfaceuses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls;type
TForm3 = class(TForm)
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;var
Form3: TForm3;implementationuses Unit2;{$R *.DFM}procedure TForm3.Button1Click(Sender: TObject);
begin
form2.close;
end;end.
begin
form2.close;
end;