as
//As用于将一个对象转换为另一个对象
procedure BtnClick(Sender:TObject);
begin
(Sender as TButton).Caption := 'Clicked';
end;以上是as的介绍
但是我不明白具体怎么用"As用于将一个对象转换为另一个对象"
(Sender as TButton).Caption := 'Clicked';
将sender转换成tbutton类型?
那后面的.Caption := 'Clicked';是做什么用的呢?
//As用于将一个对象转换为另一个对象
procedure BtnClick(Sender:TObject);
begin
(Sender as TButton).Caption := 'Clicked';
end;以上是as的介绍
但是我不明白具体怎么用"As用于将一个对象转换为另一个对象"
(Sender as TButton).Caption := 'Clicked';
将sender转换成tbutton类型?
那后面的.Caption := 'Clicked';是做什么用的呢?
一是用于相容类型之间的转换,比如在处理按钮的OnClick事件时有一参数Sender,类型是Object
二是用于接口转换。其中接口转换实际上是Delphi在内部调用了QueryInterface方法,以使用户更方便的从从一个已知接口得到另一个接口。
Sender: TObject;
Button: TButton;
begin
Button := TButton.Create(nil);
try
Sender := Button;
Button := Sender as TButton;
finally
Button.Free;
end;
end;
Sender: TObject;
Button: TButton;
begin
Button := TButton.Create(nil);
try
Sender := Button;
Button := Sender as TButton;
finally
Button.Free;
end;
end;很清楚了,就是一转换。