delphi self问题
varButton:Tbutton;beginButton:=TButton.Create;为什么我不加self会出错?加不加有什么区别?...
var
Button:Tbutton;
begin
Button:=TButton.Create;为什么我不加self会出错?加不加有什么区别? 展开
Button:Tbutton;
begin
Button:=TButton.Create;为什么我不加self会出错?加不加有什么区别? 展开
1个回答
展开全部
这位同学,因为Create方法要指定该控件的所有者(Owner),TButton.Create(AOwner: TComponent);
比如你要画一幅画,你总得知道要画在哪里吧,或是画布上,或是纸上,
相当于 图画:=图画类.Create(画布),按钮也是一样,必须指定一个所有者,或是Panel容器,或是窗体,所以此处不写self(是指本窗体 ) 或其他容器的名称,会报错的,当然,如果是不可视控件,也可以写上 Create(nil);
以上回答希望才你有所帮助。
比如你要画一幅画,你总得知道要画在哪里吧,或是画布上,或是纸上,
相当于 图画:=图画类.Create(画布),按钮也是一样,必须指定一个所有者,或是Panel容器,或是窗体,所以此处不写self(是指本窗体 ) 或其他容器的名称,会报错的,当然,如果是不可视控件,也可以写上 Create(nil);
以上回答希望才你有所帮助。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询