请教个问题,implementation前面和后面声明的变量有什么区别呢?
var
Form1: TForm1;
Y:integer;
implementation
{$R *.dfm}
var
X:integer;
请教个问题,Y和X声明的位置不同,有什么区别吗?
那个private和public区域的声明好理解,是对外开放,共有还是私有变量的意思。但是上面的两个变量X,Y,位置不同,有什么特别的地方吗?和private区和public区有区别吗?
[解决办法]
X和Y都属于全局变量。而private区和public区的是类变量,要通过类实例来访问。
X与Y的区别不大,但还是有的。
比如当如下定义时:
var Form1: TForm1; Y:integer;implementation{$R *.dfm}procedure test();begin y := 0; //使用正确 x := 100;//这样子编译是会出错的,提示X未定义。end;var X:integer;
[解决办法]
如果LZ举例的单元被别的单元引用时
Y能在别的单元调用
X不能
[解决办法]
Y相当于public
X相当于private
[解决办法]