Задать вопрос
SpacePurr
@SpacePurr
c#, wpf

Как создать ActiveX библиотеку на c#, использующую WPF?

Здравствуйте.

Нужно создать ActiveX библиотеку, которая будет встраиваться в другую платформу.
Я создаю в VisualStudio проект библиотеки .dll.
Там создаю UserControl, который переопределяю под Window, по инструкции как для обычного класса делаю ее как Com
[ProgId("MyActiveX.MainWindow")]

    [ClassInterface(ClassInterfaceType.AutoDual)]

    [Guid("0BE4662C-3B92-40CB-A4FA-E818AAB3419B")]

    [ComVisible(true)]
    public partial class MainWindow : Window
    {
        public MainWindow()
        {
            InitializeComponent();
        }
    }


В AssemblyInfo тоже ComVisible стоит true.
Компилирую, регистрирую библиотеку через regasm.
При регистрации вылезает много ошибок с таким описанием:
Предупреждение программы экспорта библиотек типов при обработке "MyActiveX.MainWindow.InputHitTest(point), MyActiveX". Предупреждение: Экспортируемый в данный момент тип или один из его базовых типов ссылается на не отображаемый в COM тип значения "System.Windows.Point".

Опыта в этом деле вообще нет, первый раз создаю такую библиотеку, на сколько понял с WPF в этом плане вообще не так все просто.

Буду рад помощи.

Спасибо.
  • Вопрос задан
  • 216 просмотров
Подписаться 1 Простой 4 комментария
Решения вопроса 1
@caballero
Программист
ну нет такого типа в системе System.Windows.Point = это дотнетовский тип. вы должны сами описать такой клас и тоже опубликовать его. А еще другая платформа должна уметь подтягивать .NET для такого активикса. Или пишите его не на .NET а на чем то нативном - Делфи например или C++
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы