1

我正在将现有的 .NET 3.5 应用程序移植到 Eclipse 插件中。

我想让我的自定义用户控件,用 C# 编写,嵌入到 Eclipse 中;我已经成功地将它导出为 COM 控件,并且在 Eclipse Europa 中运行良好。

在 Ganymede 中,OLE 加载代码似乎发生了变化,而最初在 Europa 中运行的代码失败了。

具体错误是当 Ganymede 加载我的控件时,它查询 IOleObject,接收正确的接口,然后在其上调用 SetClientSite,这导致我的对象丢失了它的两个引用,并被解除分配(Ganymede 将崩溃)。完全相同的控件在 Visual C++ 设计器和 Europa 中都能完美运行。

除了明显的 .NET 属性和 UserControl,我还需要继承什么特定的类吗?我需要实现的特定接口,或者 Europa/VC 和 Ganymede 之间的特定行为变化?

谢谢!

4

2 回答 2

1

如果有人仍然遇到此问题,请在Connect上报告。完成报告后,请在此处发布错误报告的 URL,以便阅读此帖子的人对其进行投票。

如果这仍然是一个错误,最好通过 .NET 4.0 或至少 SP1 的 RTM 修复它。

于 2009-07-04T14:09:31.413 回答
0

在非 .NET 环境中托管 .NET 控件时,我遇到了类似的问题。我的一些用户控件如何暴露给 COM 存在问题。

按照本网站上的示例解决了我的问题,也许它也会对您有所帮助!

关联

于 2008-12-19T05:21:45.747 回答