Javascript和OCX的結合歷程

2021-09-07 02:45:18 字數 1485 閱讀 5375

這種相對古老的呼叫方式主要用在windows系列平台上的多種語言軟體之間的合作。

此次專案合作方式是,客戶提供語音功能的ocx模組和vc++客戶端軟體,我需要在web軟體中呼叫其中的介面開發相關功能,並且呼叫客戶端軟體。

由於是研究型的專案,我花了一天時間成功的實現了軟體呼叫(靜態安裝註冊ocx),分享一下過程。

① 註冊ocx到本機

註冊命令   :cmd.exe /c regsvr32.exe  my.ocx

去註冊命令:cmd.exe /c regsvr32.exe /u my.ocx

② 檢視ocx註冊結果

執行regedit,開啟登錄檔,搜尋ocx的檔名,得到登錄檔項。

右鍵匯出登錄檔項到檔案,得到如下的資訊:

1 windows registry editor version 5.00

24 @="my

control

"

③ 在頁面中初始化該控制項

1

<

object

id="myocx"

name

="test"

border

="0"

width

="300"

height

="300"

2style

="display: none"

3classid

="clsid:c8e251bb-1326-4870-9bf4-53593ae5b108"

4onerror

="onobjecterror()"

>

5object

>

onerror方法很重要,如果未能正確的引用剛剛註冊的控制項,會提示出錯。

script438: 物件不支援「xx」屬性或方法。

這個錯誤查詢一抓一大把,但是有效的支援卻少之又少。

本人此次遇到以下幾個情況:

1.頁面引用錯誤的classid。

2.ocx未實現安全介面。

3.ocx未標記這段**能被js呼叫。

④ 在頁面中呼叫該控制項

1

function

() 6

var myobj = document.getelementbyid("myocx");

7var name = "201";

8var passwd = "201";

9var server = "192.168.8.250";

10var result =myobj.register(name,passwd,server);

11 }

⑤ 設定ie瀏覽器

開啟internet選項->安全->internet->自定義級別

在彈出框中選擇「activex 控制項和外掛程式」選項,將和activex相關的選項全部啟用。

運氣好的話,你就可以成功的呼叫ocx了。

javascript 和 的區別

equality 等同,identity 恒等。兩邊值型別不同的時候,要先進行型別轉換,再比較。不做型別轉換,型別不同的一定不等。下面分別說明 先說 這個比較簡單。下面的規則用來判斷兩個值是否 相等 1 如果型別不同,就 不相等 2 如果兩個都是數值,並且是同乙個值,那麼 相等 例外 的是,如果其中...

javascript 和 的區別

用於比較 判斷 兩者相等 在比較的時候可以 動換資料型別 用於嚴格比較 判斷兩者嚴格相等 嚴格比較,不會進行自動轉換,要求進行比較的運算元必須型別一致,不一致時返回flase。舉例說明 1 true 型別不同,將先做型別轉換,把true轉換為1,即為 1 1 此時,型別仍不同,繼續進行型別轉換,把 ...

呼叫OCX遇到的問題

最近用vc2008,在資源檢視中,對話方塊上,選擇右鍵 插入ocx,新增控制項變數csmscontrolctrl m smsctrl,自動產生,cpp,h檔案 所有的實現函式應該在cpp檔案,定義都在.h檔案才對,可是這次實現和定義都在.h檔案,cpp檔案沒有實現,包含.h檔案呼叫其ocx的函式,無...