Создаете OCX с помощью VS.NET?

Что случилось с ОСХ? Их больше нельзя создавать с помощью новейших инструментов?

Мне нужно создать элемент управления ActiveX, который я могу разместить в документах Word, PowerPoint и Excel. Если я использую VS.NET, я могу создать DLL UserControl только с COM-взаимодействием, но я не думаю, что смогу добавить это с помощью панели инструментов «Дополнительные элементы управления» на вкладке «Разработчик» PowerPoint.

Что бы вы сделали?


person Jason    schedule 12.12.2008    source источник


Ответы (4)


Да, вы все еще можете создать их. Но вы не можете создать OCX с языком .NET. Должен быть неуправляемым C++ (или VB). Библиотеки DLL с COM-взаимодействием, которые вы можете создать в C# или VB.NET, — это просто объекты .NET, которые вызываются через CCW.

person TheSmurf    schedule 12.12.2008
comment
Они уходят (OCX)? - person Jason; 12.12.2008
comment
Я бы сказал, что это очень вероятно. С переходом на .NET COM действительно стала устаревшей технологией в любой форме. В наши дни мало причин использовать OCX. Сборка .NET, вызываемая CCW, теперь почти всегда является лучшим решением. - person TheSmurf; 12.12.2008
comment
Что такое КВО? Я предполагаю, что вы имеете в виду нечто иное, чем скрытое ношение. - person recursive; 02.04.2009

Вы по-прежнему можете использовать .NET для создания компонентов ActiveX. Однако это экспериментально и не рекомендуется. Если вы все еще хотите попробовать, вы можете найти информацию в блоге Эндрю Уайтчепела:

Использование управляемых элементов управления в качестве Элементы управления ActiveX

Но как говорит Андрей:

Кажется, это работает нормально для Excel (с очень ограниченным тестированием, которое я провел), частично работает с PowerPoint, но с треском терпит неудачу с Word.

Поэтому, если вы не хотите тратить много времени на отладку странных ошибок, я бы порекомендовал вам использовать старые версии VB 6.0 и Visual Studio 6.0 для создания компонентов ActiveX.

person Dirk Vollmar    schedule 12.12.2008

Используйте компилятор C++ или VB, который может предназначаться для собственного кода + ActiveX.

person yfeldblum    schedule 12.12.2008
comment
Ага. их было так легко создать в VB6. - person kenny; 12.12.2008

В зависимости от того, что вам нужно сделать, надстройка может быть более подходящей, чем OCX, и вы, безусловно, можете создать ее с помощью .NET. Вам также следует взглянуть на инструменты Visual Studio для Office не как на прямую замену OCX, а только для того, чтобы понять новые возможности. Это может показать вам новые подходы к проблемам, которые вы сейчас решаете с помощью ОСХ.

person John Saunders    schedule 02.04.2009