ocx開發小結.

double2li發表於2013-01-04

. 關於ActiveX

    ActiveX是Microsoft對於一系列策略性物件導向程式技術和工具的稱呼其中主要的技術是元件物件模型COM。在建立包括ActiveX程式時主要的工作就是元件一個可以自足的在ActiveX網路中任意執行的程式。這個元件就是ActiveX近控制元件。ActiveX是Microsoft為抗衡SunMicrosystems的JAVA技術而提出的此控制元件的功能和JAVAapplet功能類似。

 

二.   ActiveX的開發環境

基於ffmpeg的ocx開發使用了visual studio 2010環境作為編譯平臺因為vs平臺提供了良好的開發ocx類庫支援已經所用到的MFC框架。Vs提供的類嚮導工具能夠幫助開發者提供快速的事件新增機制。

 

三.   Ocx與web的關係

Ocx被叫做外掛控制元件因為其體積小几乎不受執行環境影響所以常被當做瀏覽器中的客戶端使用而且它能夠自動提醒使用者更新。Ocx被web呼叫的格式一般為

<head>
</head>
<body>
      <div>

 <OBJECT ID=”MyActiveX1″ WIDTH=400 HEIGHT=300

 classid=”CLSID:E6FB5690-0648-4DBC-8571-B57BE03B80EB”

 CODEBASE=”XXX.cab”>  

</OBJECT>

 

  </div>
 </body>
</html>

其中classidvsocx生成的ID號可以通過vs提供的OLEVIEW.EXE工具獲得。Codebase屬性為.cab檔案所在路徑cabocx經過打包將ocx的依賴項一起打包成.cab格式檔案。Ocx的依賴檔案可以通過vs提供的DEPENDS.EXE工具獲得。打包要用到的幾個工具可以從網上下載並且.inf檔案的格式網上也有很多介紹。

通常ActiveX控制元件在開發並註冊後一旦在網頁中執行IE並不認為這是一個指令碼安全的會彈出一個IE提示已經阻止此站點以不安全的方式使用ActiveX控制元件這個不要緊點第一項安裝一下就ok了。

 

四.   Ocx的介面

Ocx的介面是為了web與ocx控制元件進行互動開發的函式的生成可以使用vs提供的類嚮導選項建立。在web中可以使用jsp等一些指令碼語言呼叫。

 

五.   Ocx開發注意事項

1.      要想使mfc視窗嵌入到web程式必須設定mfc窗體的style屬性為child

2.      visible屬性為TRUE否則窗體不顯示。

3.     編譯的時候可能報類似錯誤

error MSB8011:uinput2?eoB請嘗試啟用pgpdeuhC?O使gpn!IAC?sn|??e該組?B

這個沒關係ocx已經生成成功只不過編譯器沒用成功註冊而已可以手動註冊。

4.      Ocx的手動註冊為在命令列執行視窗輸入 regsvr32 然後將需要註冊的ocx檔案拖入到輸入框然後回車就可以註冊成功如果沒有成功請將ocx的依賴項新增到oxc所在的資料夾。

5.      ocx的解除安裝同註冊類似只不過在regsvr32 後面再加入一個引數 /u即可。

6.      ocx不能單獨執行所以需要除錯可以使用web載入ocx或者使用vs提供的工具TSTCON32.EXE這個工具在2010裡面也有不過需要進行編譯程式碼才能生成。可以使用vc6.0安裝目錄下的以上除錯工具。


相關文章