我正在将现有的.NET 3.5应用程序移植到Eclipse的插件中。
我想在Eclipse中嵌入用C#编写的自定义UserControl;我已成功将其作为COM控件导出,并且它在Eclipse Europa中运行良好。
在Ganymede中,似乎OLE加载代码已经改变,而最初在Europa中运行的代码失败了。
特定错误是当Ganymede加载我的控件时,它会查询IOleObject,接收正确的接口,然后在其上调用SetClientSite,这会导致我的对象丢失其引用,并被取消分配(Ganymede将崩溃)。 完全相同的控件在Visual C ++设计器和Europa中都能完美运行。
除了显而易见的.NET属性和UserControl之外,还有我需要继承的特定类吗?我需要实现的特定接口,还是Europa / VC和Ganymede之间的特定行为改变?
谢谢!