我想在一个过程中传一个参数,可能是TButton,也可能是TDBEdit或TEdit等,也就是我传什么组件就是什么,那么我这个参数应该定义为什么类型的,我定义为TObject不行,比如下边的例子:
procedure TDataSetInsert.ExecuteTarget(Target: TObject);
begin
Target.SetFocus; //TObject没SetFocus这个属性,应该定义为什么类型
end;
procedure TDataSetInsert.ExecuteTarget(Target: TObject);
begin
Target.SetFocus; //TObject没SetFocus这个属性,应该定义为什么类型
end;
如TEdit,TMemo,TListBox等等
而像按扭TButton就没有这个属性
procedure ExecuteTarget(Target: TObject);
begin
if Target is TButton then
(Target As TButton).SetFocus;
if Target is TEdit then
(Target As TEdit).SetFocus;
end;
begin
if Target is TWinControl then
if TWinControl(Target).CanFocus then
TWinControl(Target).SetFocus;
end;
begin
if Target is TWinControl then
if TWinControl(Target).CanFocus then
TWinControl(Target).SetFocus;
end;
procedure TDataSetInsert.ExecuteTarget(Target: TObject);
begin
if Target is TButton then
(Target as Tbutton).SetFocus;
if Target is TEdit then
(Target as TEdit).SetFocus;
if Target is TDBEdit then
(Target as TDBEdit).SetFocus;
end;