如何从javascript调用dll

时间:2013-01-17 07:07:34

标签: javascript activex

任何人都可以帮我解决如何从javascript调用dll函数。使用activexobject我收到错误“自动化服务器无法创建对象”。这是我的代码

var jMyAcctId = document.all.RefNum.value;
var jMyAcctType = document.all.TrxType.value;
var NewObject = new ActiveXObject("HDMFCDV.cdv");
if (NewObject.IsValidID(jMyAcctId,jMyAcctType) == true)
{
    document.all.RefNumError.innerText = "";
    CnvUp(sel);
    document.all.CustFName.disabled = false;
    document.all.CustFName.focus();
}

提前谢谢。

1 个答案:

答案 0 :(得分:1)

您的JavaScript代码很好。我怀疑问题出在HDMFCDV.cdv ActiveX上 - 无论是你实现它还是你注册它的方式。

我不熟悉HDMFCDV对象。这是您实施的专有对象吗?以下是一些排除故障的提示:

  1. 确保您的对象已注册(您是否运行了regsrv32?)
  2. 验证HDMFCDF.cdv是否在注册表中:HKCR \ HDMFCDF.cdv
  3. 确保有CLSID
  4. 确保类ID在注册表中,并指向实现对象的DLL。 HKCR \ CLSID {your-guide} \ InprocServer32(REG_SZ)
  5. 一个非常常见的了望:你实施了IObjectSafety吗?如果没有此接口,并且没有此接口返回它对于不受信任的调用者是安全的,IE将拒绝实例化此对象