关于unit,form的相互调用(50分)

  • 主题发起人 主题发起人 vortex
  • 开始时间 开始时间
V

vortex

Unregistered / Unconfirmed
GUEST, unregistred user!
如何实现
 
你的意思是两个UNIT之间相互调用吧?
 
在实现部分(implementation)后写uses,两个都写对方的就可以了。
 
File->uses unit菜单也可
 
两个单元相互调用时的uses子句好象应该分开放的
一个放在 implementation部分
一个放在 interface部分
 
要求form之间能彼此
调用。
 
是可以彼此调用的。
 
Can you give me a hand,hbezwwl?
 
unit Unit1;

interface

uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls;

type
TForm1 = class(TForm)
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;

implementation

{$R *.DFM}
uses unit2;
procedure TForm1.Button1Click(Sender: TObject);
begin
form2.show;
end;

end.
 
to 楼上
你只form1调用form2,我要求同时form2
还要能调用form1,如何才能不产生编译
错误??
 
上面的都是答案。
Form2和Form1的写法一样,肯定不会出编译错误,注意uses的位置
 
在Form1的implementation下加上
uses unit2;
在Form2的implementation下加上
uses unit1;
這樣兩個窗口就可以互相調用公開變量或公開資源。
例如,在Form1打開Form2;
procedure TForm1.Button1Click(Sender: TObject);
begin
form2.show;
end;
在Form2中關閉顯示Form1的標題。
procedure TForm2.Button1Click(Sender: TObject);
begin
Showmessage(form1.caption);
end;



 
yzhshi早说了
两个uses都写到implementation下面
 
多人接受答案了。
 
后退
顶部