我想写一个数据库访问的com组件,其中需要有ADOResult型的返回值
我在type library中use 
Microsoft activex data object library 2.7 之后
在属性类型中可选择_RecordSet *类型,
然后我在Implement文件中返回一个adotable    的 recordset
dan但是编译始终不能通过,
我试着去掉所有的代码之后,只添加一个_RecordSet类型的属性,编译
总是提示:
Declaration of "Get_RecSet" differs from declarition in 
interface "IADORecSet",
我看了一下声明完全一样,我也没有任何改动?
请问这应该如何解决?谢谢

解决方案 »

  1.   

    你用olevariant代替不可以吗?
    到客户端在赋值非Clientdataset的data属性
      

  2.   

    可不可以具体点?
    我不太明白,刚刚学用COM
    而且我只是在delphi 中选择了一下属性类型为 _Recordset*
    编译就有问题,这是为什么?
    有没有人试过,再次表示感谢。
      

  3.   

    在参数设置的时候用*Variant;
    就可以了!
      

  4.   

    type library中有N个ADO类型,烦都烦死啦,稍稍uses的不对,就编译不过去。
    Delphi的ADODB单元和ADODB_TLB单元的定义就不同,没办法就用强制类型转换:
    Iunknown(你的变量) as _Recordset
      

  5.   

    参数类型设置为 [out,retval] IUnknown*