比如建一个FORM,代码如下
type
TForm1 = class(TForm)
Label1: TLabel;
Button1: TButton;
Edit1: TEdit;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
其中
Label1: TLabel;
Button1: TButton;
Edit1: TEdit;
procedure Button1Click(Sender: TObject);
几句之前没有private,public之类的标志。那这几句代表什么,缺省的情况是默认为public么?
也就是说这几句相当于
public
Label1: TLabel;
Button1: TButton;
Edit1: TEdit;
procedure Button1Click(Sender: TObject);
是这样么?
type
TForm1 = class(TForm)
Label1: TLabel;
Button1: TButton;
Edit1: TEdit;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
其中
Label1: TLabel;
Button1: TButton;
Edit1: TEdit;
procedure Button1Click(Sender: TObject);
几句之前没有private,public之类的标志。那这几句代表什么,缺省的情况是默认为public么?
也就是说这几句相当于
public
Label1: TLabel;
Button1: TButton;
Edit1: TEdit;
procedure Button1Click(Sender: TObject);
是这样么?
vcl 控件都是 TPersistent 的继承类,TPersistent 在 vcl 中有非常重要的地位。打开 Classes.pas 可以看到,在 TPersistent 之前有 {$M+} 预编译参数,这个参数有两个作用,一个是打开rtti,另一个是使默认域变为published。而vcl控件都继承自 TPersistent,也就自然继承了这两个属性,TComponent、TControl、TWinControl 等等的默认域也就变成了 published