我將現有的.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之間的特定行爲改變?
謝謝!