Delphi TObject的位置变化

时间:2014-06-10 15:10:53

标签: delphi firemonkey

我想制作一个可以应用于众多不同组件的通用功能;但是,我不能只做

TObject.Position

它要求我做

TButton(TObject).Position

这意味着我必须这样做

if TObject is TButton then
    TButton(TObject).position...
if TObject is TLabel then
    TLabel(TObject).position...

有没有办法让它起作用:

TObject.position

这样功能可以尽可能通用,而不会被switch / if语句弄乱......?

这就是我所拥有的:

procedure TForm3.gestureObj(Sender: TObject;
  const EventInfo: TGestureEventInfo; var Handled: Boolean);
begin
  if EventInfo.GestureID = igiPan then
    handlePan(EventInfo, Sender);
end;

procedure TForm3.handlePan(EventInfo: TGestureEventInfo; sender: TObject);
var
  item: TControl;
begin

  item:= TControl(TObject);
end;

当我尝试移动do item.position时,这样做会给我一个访问冲突,我怀疑这是因为它不是TControl?

1 个答案:

答案 0 :(得分:0)

解决方案是使用:

sender as TControl