设TAuto实现了接口IAuto
Obj:TAuto;
OVObj:OLEVariant;
Obj:=TAuto.Create;
OVObj:=Obj;Obj:=TAuto(IAuto(OVObj));//出错:得到的对象不正确请问应该如何从OVObj得到一个TAuto类型的对象。谢谢……

解决方案 »

  1.   

    错了,是
    Obj:=IAuto(TAuto.Create);
      

  2.   

    接口和对象是赋值兼容的,
    也就是说iAuto1 : IAuto;iAuto1 := TAuto.Create();
    看看D5开发指南有些,还有Delphi COM深入编程
      

  3.   

    从TAuoto转为IAuto和OLEVariant是没有问题的
    我意思是说如何将OLEVariant转为TAuto,我先去看看 Delphi COM深入编程
      

  4.   

    var
      aIntf:IAuto;
      OVObj:OLEVariant;....
      OVObj:=TAuto.Create();
      aIntf:=IUnknown(OVObj) as IAuto;
      

  5.   

    将OLEVariant转为IAuto是合理行为,转为TAuto 就是非份的行为了。。呵呵。