N
netbug
Unregistered / Unconfirmed
GUEST, unregistred user!
请看以下的例子:
...
Type
Tnum=class
public(或private)
FNum:integer;
end;
procedure TForm1.Button1Click(Sender: TObject);
var
ex:TNum;
begin
ex.fnum:=456;
edit1.Text:=inttostr(ex.fnum);
end;
...
这个例子都能运行,而当我把var ex:TNum;放在过程外面时,既;
...
Type
Tnum=class
public(或private)
FNum:integer;
end;
var
ex:TNum;
procedure TForm1.Button1Click(Sender: TObject);
begin
ex.fnum:=456;
edit1.Text:=inttostr(ex.fnum);
end;
...
这个例子都能能编译通过,但在运行时出错。
我想问:
1:当在类中一个成员(FNum)被说明成private时,此成员就不能直接被访问吗?
那在第一个例子中,为何可以直接给此成员赋值(ex.fnum:=456呢?
如果可以,能不能举例说明只能用public而不能用private的类中的成员?
2:前后两个例子中,对变量说明在过程内外有何不同?
在外说明是不是说明此变量属于全局变量,而在内说明是不是说明此变量属于局部变量?
谢谢。
...
Type
Tnum=class
public(或private)
FNum:integer;
end;
procedure TForm1.Button1Click(Sender: TObject);
var
ex:TNum;
begin
ex.fnum:=456;
edit1.Text:=inttostr(ex.fnum);
end;
...
这个例子都能运行,而当我把var ex:TNum;放在过程外面时,既;
...
Type
Tnum=class
public(或private)
FNum:integer;
end;
var
ex:TNum;
procedure TForm1.Button1Click(Sender: TObject);
begin
ex.fnum:=456;
edit1.Text:=inttostr(ex.fnum);
end;
...
这个例子都能能编译通过,但在运行时出错。
我想问:
1:当在类中一个成员(FNum)被说明成private时,此成员就不能直接被访问吗?
那在第一个例子中,为何可以直接给此成员赋值(ex.fnum:=456呢?
如果可以,能不能举例说明只能用public而不能用private的类中的成员?
2:前后两个例子中,对变量说明在过程内外有何不同?
在外说明是不是说明此变量属于全局变量,而在内说明是不是说明此变量属于局部变量?
谢谢。