建立起来的应是这样的:function GetData(var vData: OleVariant): HRESULT;

解决方案 »

  1.   

    可是书上却是这样写的。
    function tmtsdata.getdata:olevariant;
    beginend;
    不知是为什么?
      

  2.   

    在tlb中这样定义:
    参数:value,variant* //value 也可换为函数名,返回类型必须为指针类型
    如果函数中还有其他参数,那么value必须放在最后表示方法的返回值HRESULT;//最好不要动它
      

  3.   

    直接修改tlb中的函数原型,并且把SafeCall改为stdcall,在其他地方一样修改,保存就可以了.
      

  4.   

    还有像这样的方法是如何定义的。
    function tmesdata.getrecords(recordcount:integer; out recsout:integer):olevaiant
    beginend;