在form2中该如何调用form1中的变量啊?(50分)

  • 主题发起人 主题发起人 wtzwtz
  • 开始时间 开始时间
W

wtzwtz

Unregistered / Unconfirmed
GUEST, unregistred user!
在form1中的公有区定义一个变量x:boolean ,在form2中调用时为何提示没有定义x啊?在form2中该如何调用form1中的变量x啊?
 
在你form2中找到第一个uses,后面添上UnitForm1(form1的单元名,你自己定义的),然后在试试
 
是全局还是局部的?先要区分吧
uses 单元(form2在的单元)
 
例一:
unit unit1;
interface
type
tform1=class(tform)
private
public
xx:boolean;
end;
var
Form1: TForm1;
implementation
end.

unit unit2;
interface

type
tform2=class(tform)
private
end;
var
Form2: TForm2;
implementation
uses unit1;
procedure tform2.formcreate(sender:tobject);
begom
form1.xx..................
end;
end.

=========================================
例二:
unit unit1;
interface
type
tform1=class(tform)
private
public

end;
var
Form1: TForm1;
xx:boolean;
implementation
end.

unit unit2;
interface

type
tform2=class(tform)
private
end;
var
Form2: TForm2;
implementation

uses unit1;

procedure tform2.formcreate(sender:tobject);
begom
xx..................
end;
end.
 
user你要用的变量所在的窗体类就行了.
 
好像只能用另一个form 的全局变量,先把那个form 加入(user) ,然后在form2中写form1.x,就行了
 
风铃夜思雨 给出的两个例子我都试过了,两种方法都可以,又学到新知识了。谢谢!
 
这种超级菜的问题要这样回答才会理解

1.鼠标点击Form2
2.点文件----点"使用单元"-----在弹出的窗口选择"Unit1"
这时候就会发现多出个uses Unit1;在implementation和{$R *.dfm}中间了:


implementation

uses Unit1;

{$R *.dfm}

3.使用的时候就可以直接使用了 有时候在多线程的使用时候 还要这样:
Unit1.x而不是Form1.x

如果让我去教学生从幼儿园一直带到研究生 我可以把普通流鼻涕的小朋友教育成为科学院院士 哈哈
 
TO冰力不足:
你拽什么,你不也是从菜鸟过来的吗?现在有什么好神气的。大富翁本来就是一个大家交流的地方,任何人都有权利提出问题,你应该尊重别人的提问;有时候别人的解答虽然不是很完美,但是我相信别人已经尽自己最大努力在帮助别人,你应该尊重别人的劳动!
刚刚查了一下大富翁列表,发现一个问题,你也有待答问题,你也有不会的东西,还以为你什么都会呢!你的排名和积分也上不了台面。这里面有那么多待答问题,你有本事把他们全部解决了,我们才服你,不是在这里说风凉话,打击别人积极性,表现出一副自己很厉害的样子!
 
但是前提是要设为public才能被外部访问哦
 
楼上的楼上火气太大了。
个人认为,这个问题亲自查查帮助是比较容易得到答案的。
 
还是那个问题,先搞清楚是全局变量还是局部变量
 
后退
顶部