Сборка OCX с VS.NET? - PullRequest
       48

Сборка OCX с VS.NET?

4 голосов
/ 12 декабря 2008

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

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

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

Ответы [ 4 ]

3 голосов
/ 12 декабря 2008

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

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

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

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

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

3 голосов
/ 12 декабря 2008

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

0 голосов
/ 02 апреля 2009

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

0 голосов
/ 12 декабря 2008

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

...