2008-12-12 60 views
4

OCX發生了什麼事?他們不能再用最新的工具創造嗎?用VS.NET構建OCX?

我需要創建一個可以放在Word,PowerPoint和Excel文檔中的ActiveX控件。如果我使用VS.NET,我只能使用COM Interop創建一個UserControl DLL,但我不認爲我可以使用PowerPoint的「開發人員」選項卡的「更多控件」工具箱添加它。

你會做什麼?

回答

3

是的,你仍然可以創建它們。但是你不能用.NET語言創建一個OCX。需要非託管的C++(或VB)。可以在C#或VB.NET中創建的具有COM互操作的DLL只是通過CCW調用的.NET對象。

+0

他們是否在出路(OCXs)? – Jason 2008-12-12 19:23:27

+1

我想說這很可能。隨着向.NET的轉移,COM實際上已成爲任何形式的傳統技術。目前幾乎沒有理由使用OCX。 CCW調用的.NET程序集現在幾乎總是一個更好的解決方案。 – TheSmurf 2008-12-12 19:32:48

0

使用可以定位本機代碼+ ActiveX的C++或VB編譯器。

3

您仍然可以使用.NET創建ActiveX組件。但是,這是實驗性的,不推薦。如果你仍然想嘗試它,你可以在安德魯白教堂的博客找到信息:

Using Managed Controls as ActiveX Controls

但正如安德魯說:

這似乎爲Excel工作確定(與 我做了非常有限的測試), 部分與PowerPoint的作品,但 與Word失敗失敗。

所以,如果你不想花大量的時間調試奇怪的錯誤,我會建議你使用舊的VB 6.0和Visual Studio 6.0來構建你的ActiveX組件。

0

根據你需要做什麼,加載項可能比OCX更合適,你可以使用.NET創建這些加載項。您還應該查看Visual Studio Tools for Office,而不是直接替換OCX,但只能瞭解新功能。它可能會向您展示解決您現在使用OCX解決問題的新方法。