2011-06-18 123 views
0

我已經下載了一個商業的ActiveX控件(一個視頻播放器),很不幸在.NET環境下沒有測試過。 控制演示功能完美無缺。它在傳統的Visual Basic 6環境中也是完全可重用的。但是,當我嘗試在.NET(WinForms)環境中使用此控件時,我得到一個空白屏幕,沒有聲音而不是視頻播放。控件中沒有發生錯誤,但屏幕只是空白。 VB6和.NET可執行文件都以x86模式運行,所以這不是問題。我也嘗試在VB6中創建一個ActiveX控件包裝器並將其添加到.NET項目中,但得到了相同的結果。.NET ActiveX互操作性問題

更新:問題似乎是在渲染模式。該控件具有名爲VideoDriver的屬性,默認值爲vdGDI。當模式設置爲vdDirectDraw時,它會播放,但會定期崩潰。這很奇怪,因爲我認爲ActiveX的想法是在任何支持這種技術的環境中工作。

讓它工作的任何提示?

+0

.NET應用程序是用WPF還是用WinForms編寫的? – EricLaw

+0

它寫在WinForms中。 – SharpAffair

+0

你在捅了一頭豬。沒什麼意義,繼續浪費你的時間,而是嵌入Windows Media Player。右鍵單擊工具箱,選擇項目,COM選項卡。 –

回答

0

很遺憾,我在w/active x控件之前看到過這樣的問題。我所知道的唯一黑客就是將其封裝在vb 6控件中,然後在.net中託管該控件。總的攻擊,但除​​非控制走控制堆棧,並試圖將它們轉換爲不適當的類型它應該工作。

+0

我已經試過按照我的文章中所描述的那樣包裝控件。 – SharpAffair