2008-10-07 4 views
1

Я переношу существующее приложение .NET 3.5 в плагин для Eclipse.Использование UserControl .NET в качестве встроенного элемента управления через COM

Я хочу иметь свой пользовательский UserControl, написанный на C#, встроенный в Eclipse; Я успешно экспортировал его в качестве 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. Когда вы сделаете отчет, пожалуйста, разместите здесь URL-адрес отчета об ошибках, чтобы люди, прочитавшие это сообщение, могли голосовать на нем.

Если это все еще ошибка, было бы неплохо получить ее исправление RTM .NET 4.0 или, по крайней мере, SP1.

Смежные вопросы