Визуальная студия 2019 не создает оболочки для элементов ActiveX/ocx, который
Еще в VS2017 при ссылке на Activex/OCX были созданы два файла, на которые ссылались в Visual Studio
Interop.XYZLib.dll
AxInterop.XYZLib.dll
оттуда я смог создать обертку вокруг себя AxInterop.XYZLib.dll это разоблачало методы и свойства OCX, как если бы они были родными.
Только после установки VS2019 Interop.XYZLib.dll генерируется. Даже если я вернусь к VS2017, поведение будет таким же, генерируется только один, и попытка использовать его приводит к катастрофическому сбою.
Спасибо
Что я уже пробовал:
Other answers suggest to use AxImp.exe, I tried, only to have an error saying "Did not find a registered ActiveX control in ...", that's confusing since the OCX is registered with RegSvr32.exe, any ideas?
MadMyche
Почему вы удалили первоначальный вопрос?
lenniscata
Я хотел изменить название, чтобы было понятнее.
OriginalGriff
Вы можете редактировать вопросы с помощью кнопки "улучшить вопрос" внизу (проведите мышью по вашему вопросу, и он появится), а также редактировать текст, заголовок, теги и разделы "что я пробовал".
Удаление вопросов выглядит как "я не получил ответа, который хотел", и обычно не приносит вам никаких улучшений. Хотя, это действительно раздражать некоторых из нас ...
lenniscata
Ладно, понял, спасибо,
MadMyche
Вот что такое Improve Question
виджет предназначен для
Patrice T
Воспользуйся Улучшить вопрос чтобы обновить ваш вопрос.
Patrice T
Что говорит microsoft ?
lenniscata
Чтобы использовать AxImp.exe, он должен создать оба файла, но возвращается с надписью "Не нашел зарегистрированный элемент управления ActiveX в ...", но я зарегистрировал этот элемент управления.
Спасибо
CHill60
Вы использовали правильную версию RegSvr32.exe чтобы зарегистрировать OCX? 32 бит против 64 бит
lenniscata
Да, 32 бит, я получил сообщение "DLLRegisterServer в ArsOle.ocx успешно прошел." и я все еще могу использовать версию, скомпилированную на VS2017, без проблем. Я просто не могу импортировать его снова в новый проект. Спасибо
MadMyche
Ваше приложение 32-или 64 - разрядное? И что же это такое?
lenniscata
Это 32-битная COM-библиотека, доступ к которой будет осуществляться 32-битным приложением. работает на Windows 10, сборка 2004, VS 2019 все исправлено. Спасибо,
CHill60
Не знаю, куда делись все эти комментарии, но попробуйте использовать Компании Sysinternals Процессы Утилиты Для Windows Утилиты Sysinternals | Microsoft Для Документов[^] - в частности, инструменты Process Monitor и Process Explorer. Они помогут вам узнать, о какой зависимой DLL он жалуется или где он ее ищет
lenniscata
Спасибо, я смог сгенерировать файлы с помощью AxImp, но VS2019 все еще терпит крах, хотя решение VS2017 работает. Я попробую ваше предложение и опубликую здесь то, что найду.