查了一下网上说是要用aximp转换一下,转换成功了,但是注册失败,提没有找到dllregistserver输入点

解决方案 »

  1.   

    http://blog.csdn.net/wl_fln/article/details/17143271
      

  2.   

    C++的ocx函数的参数类型是variant,这个东西不太懂,我C#这边该怎么传参数
      

  3.   

    C++代码是这样的Variant VariantData;
    VariantInit(&VariantData);
    VariantData.vt=VT_DATE;
    SAFEARRAY *pas;
    SAFEARRAYBOUND sab={10,0};
    psa=SafeArrayCreate(VT_DATE,1,&sab);
    DATE *data;
    SafeArrayAccessData(psa,(void **)&data);
    for(int i=0;i<10;i++)
    {data[i]=rand()%20;}
    SafeArrayAccessData(psa);
    pTestOcx->SetData(VariantData);
      

  4.   

    求大神出现呀,现在就是传参数问题,c++里最后把variant传的是数组,c#引用后函数参数是object
    我这么写也抛出异常
    object o=new int[] {1,2,3};
    AxTestOcxLib.AxTestOcx t=new AxTestOcxLib.AxTestOcx();
    ((system.componentmodel.ISupportInitialize)t).BeginInit();
    t.SetData(o);
    this.controls.add(t);
    ((system.componentmodel.ISupportInitialize)t).EndInit();