2008-10-07 71 views
1

我將現有的.NET 3.5應用程序移植到Eclipse的插件中。通過COM使用.NET的UserControl作爲嵌入式控件

我想在Eclipse中嵌入用C#編寫的自定義UserControl;我已經成功地將它導出爲COM控件,並且它在Eclipse Europa中運行良好。

在Ganymede中,似乎OLE加載代碼已經改變,並且最初在Europa中的工作失敗。

具體的錯誤是,當Ganymede加載我的控件時,它查詢IOleObject,接收到適當的接口,然後調用SetClientSite,這會導致我的對象失去它的引用,併成爲解除分配(Ganymede會崩潰)。 完全相同的控件在Visual C++設計器和Europa中都完美無瑕。

除了明顯的.NET屬性和UserControl之外,是否還有任何特定的類需要繼承?我需要實現的具體界面,還是Europa/VC和Ganymede之間的特定行爲改變?

謝謝!

回答

0

我在非.NET環境中遇到了與託管.NET控件類似的問題。我的一些用戶控件如何暴露於COM中存在問題。

繼這個網站上的例子解決了我的問題,也許它也會幫助你!

Link

1

如果有人仍然有這個問題,那麼請在Connect報告。完成報告後,請在此發佈錯誤報告的網址,以便閱讀此帖的人可以對其進行投票。

如果這仍然是一個錯誤,最好是通過.NET 4.0的RTM或至少SP1來修復它。

相關問題