2013-01-17 67 views
0

任何人都可以幫助我如何從JavaScript調用dll函數。當使用activexobject時,我收到錯誤「自動化服務器無法創建對象」。這裏是我的代碼如何從Java腳本調用dll

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(); 
} 

Thanak提前。

回答

1

您的JavaScript代碼是很好的。我懷疑問題出在HDMFCDV.cdv ActiveX上 - 無論是你實施它的方式還是你註冊的方式。

我不熟悉HDMFCDV對象。這是您實施的專有對象嗎?這裏有幾個技巧來解決:

  1. 確保你的對象註冊
  2. 驗證HDMFCDF.cdv是在註冊表中(你跑regsrv32?):HKCR \ HDMFCDF.cdv
  3. 確保有CLSID
  4. 確保類ID位於註冊表中,並且它指向實現您的對象的DLL。 HKCR \ CLSID {你的指導} \ InprocServer32(REG_SZ)
  5. 一個很常見的瞭望:你有沒有實現IObjectSafety。如果沒有這個接口,並且沒有這個接口返回它對於不可信的調用者是安全的,那麼IE將拒絕實例化這個對象