是你自己的Simple组件没有注册

解决方案 »

  1.   

    我已经注册了好多遍了,还是一样的。
    regsvr32 D:\Vasion\Debug\VasionLoop.dll
      

  2.   

    我的意图是想得到IRecordInfo指针,然后调用SafeArrayCreateVectorEx传递自定义类型的vector数据。
    如果有其他的办法也可以。
      

  3.   

    GetRecordInfoFromGuids 这个API是哪来的?这不是系统API,看看它的实现
      

  4.   

    WINOLEAUTAPI GetRecordInfoFromGuids(REFGUID rGuidTypeLib,
                ULONG uVerMajor, ULONG uVerMinor, LCID lcid,
                REFGUID rGuidTypeInfo, IRecordInfo ** ppRecInfo);这个是oleauto.h下面的,是封装了的API。
      

  5.   

    SORRY,我OUT了,很久没搞类型信息,忘了IRecordInfo是一个系统接口,查了一下MSDN,已经记起来了,这个接口是处理类型库中的自定义结构体的接口,你现在处理的ISimple是接口,不是IDL里面定义的结构体Struct,不能使用IRecordInfo
      

  6.   

    哦,那我该怎样处理呢,我现在要用IRecordInfo。
      

  7.   

    在64位Windows下:
    64位exe和dll在目录c:\windows\system32目录下;
    32位exe和dll在目录c:\windows\syswow64目录下;
    所以要注意:
        在win64位系统下注册32位ocx或dll需要将32位ocx或dll拷贝到c:\windows\syswow64\目录下。
        且注册要用c:\windows\syswow64\regsvr32 xxxxxxx.ocx或dll