var obj:Tobject;
begin
Tedit(obj).text:='aaa';
end;
请问
我知道obj是Tedit,那么不用强制转换Tedit(obj)方法用其他方法把值放到edit控件里呢?

解决方案 »

  1.   

    as成Tedit(obj as Tedit).text:='aaa';
      

  2.   


    你知道是TEdit 那么直接用这个Edit赋值不好么…… 
    一般是不知道你传入的参数是什么类型的 才用Object 然后进行条件判断
    举个例子procedure SetValue(aObj: TObject);
    begin
      if aObj is Tedit then
        (aObj as Tedit).text:='aaa';
    end;你知道是TEdit procedure SetValue(aObj: Tedit);
    begin
      aObj.text:='aaa';
    end;不知道你是不是这个意思呢