在Import Type Library中应该有三个定义ICoMyInterface、CoMyInterface和TMyInterface。
如果我没有记错的话,在Import Type Library的向导中添加了方法(Add)和属性(Data)是肯定能够使用的。
具体的使用方法有好几种。
同C++Builder一样,变量用ICoMyInterface定义,用CoMyInterface来创建实列。
其他的调用同一个简单类的方法一样。
还有就是TMyInterface直接定义,来实现。
还有派遣接口来实现访问。好象是ICoMyInterfaceDisp,具体我也记不清了。
你可以找本DELPHI的书看看,比如说《DELPHI4编程内幕》,上面讲的很明白

解决方案 »

  1.   

    xiaoxiaoli(肖利) 
    你好,先谢谢你的回答,在delphi中import中,可以生成TMyInterface,这是一个可选的项目。
    我现在碰到的主要问题有两个:
    1.为什么我在Import Type Library...后,在生成的*_TLB.pas单元文件中看不到有关IMyInterface接口中的属性,即Data(但我在C++Builder中import后,在其TCOMIMyInterfaceT类中却可以看见这个Data属性,并可以正常使用);
    2.这个接口是用C++Builder写的,其中的一些方法的返回值为Void*,即无类型指针,请问这在COM定义是否充许(虽然没有提示出错)?Thanks a Lot!
      

  2.   

    关于调用接口:import 之后在调用的文件中uses *_tlb.pas 和comobj.pas文件然后在 函数中这样调用
    var
      iu:Iunknown;
      imi:Imyinterface;begin
      iu:=createremotecomobject('',progidtoclassid('XXX.XXX'));//如果是本地调用createcomobject
      imi:=iu as Imyinterface
      imi.function();ok?
    end;
      

  3.   

    to oocoolie(苦力)
    你所说的这是原生的调用方法,即自己通过API创建接口,我在这里碰到的问题是,为什么我用import Type library创建的.pas文件中的几个相关的类中,没有一个包含属性,而我在定义这接口时,是定义了属性的呀?但我在CB中却出现了接口的属性,并成功调用,delphi却不行,而且调用的myinterface.function是指针时,不会报错,但返回值是错误的!
    谢谢!