下面是插件的相关信息:
CLSID: {47B3B650-CAE5-11D3-8D09-00A0C99FF62A}
IID: {47B3B64F-CAE5-11D3-8D09-00A0C99FF62A}
ProgID: IKeyCOM.iKey插件都已经注册过的,保证没错!我是这样调用插件的:
<object classid = "clsid:47B3B650-CAE5-11D3-8D09-00A0C99FF62A" id="ikey" width="100" height="50">
然后直接操作ikey
var iKeyCtrl = document.getElementById("ikey");说明文档中GetLibVersion方法原型是:
HRESULT GetLibVersion( long * pLibVer ); // [in]后面我就调用该方法了:
var libVersion;
iKeyCtrl.GetLibVersion(libVersion);//这就出错了!
如果我换做下面执行就正常了
libVersion = iKeyCtrl.GetLibVersion();还有一个方法是这样的:
HRESULT Verify(long lFlags, // [in] unsigned char * pData, // [in] long lSizeOfData // [in]); 
我的调用如下:
 var password = "xxxxxxxx";
 iKeyCtrl.Verify(1, password, password.length);
运行出错,原因是type mismatch!急请大侠帮忙解决!可加分!

解决方案 »

  1.   

    password是什么值,先把password的值改成固定字符串如"aaa",password.length改成3试试,若不出错,
    就是password取值的问题.
      

  2.   

    我试过的。 出错的地方好像都是方法原型是指针类型的!
    例如:
    long * pLibVer 
    unsigned char * pData
    参数传递就出错了!
      

  3.   

    你可以试试把传入Verify参数的位置变换变换试试比如
    iKeyCtrl.Verify(password.length,password,1); 
    iKeyCtrl.Verify(1,password.length,password);
    等等.
      

  4.   

    哎,应该不是我这边的问题!提供给我的接口问题!还有就是com组件调用时类型托管问题散分了