я борюсь с .net ACTIVEX я стараюсь использовать в MS Axapta 2009.ACTIVEX компонент в Axapta
использует этот компонент на моей локальной машине, где он был скомпилирован, он работает довольно хорошо. он может быть добавлен как элемент activeX в форме, методы и события перечислены в axapta-activeX-explorer, и я могу без проблем взаимодействовать с ним.
но попытка распространить dll другим клиентам не работает должным образом. регистрация DLL через regasm/codebase/tlb работает правильно - получение сообщения, регистрация прошла успешно. компонент также указан при выборе активного элемента X для добавления в топор, но не указаны ни функции, ни свойства. и запуск формы приводит к ошибке errnoessage - activeX компонент CLSID ... не найден в системе, не установлен. classID действительно тот, который определен в .net.
странные вещи случаются, глядя на диспетчера задач. сама activeX-компонент является всего лишь оболочкой для взаимодействия с ком-приложением. при запуске Ax-формы с не работает и _not_installed_ !! ACTIVEX-вещь, TaskManager показывает новый процесс ком-приложение, которое инстанциировано по ACTIVEX:/
вещей я попытался:
- с использованием различных версий Regasm, например \ Windows \ Microsoft. NET \ Framework \ v2.0.50727; C: \ Windows \ Microsoft.NET \ Framework64 \ v2.0.50727
- с использованием нового GUIDs в .net, перед удалением старых из реестра
- компиляции, используя различные версии платформы .NET
- делает регистрация через Regasm, Regasm /, Regasm кодовой базы// TLB кодовой базы, используя наглядную-студию-установки
- выполняется регистрация с помощью командной строки, как администратор
- работает установку администратор
- работают даже топор в качестве администратора на клиент- машина
- перемещение dll в другую папку, за которой следует новая регистрация (windows/system32; Топор/клиент/бен)
- установки в GAC (gacutil/я)
- различных проектов-вариантов в Visual Studio (COM-видимости; зарегистрировать для COM-Interop, разные targetPlatform)
надеялся на факт, что компиляция в visual studio с регистратором для включенной опции COM-Interop делает что-то большее, чем просто регистрация regasm, я использовал инструмент-монитор-microsoft-инструмент для регистрации активности реестра, который произошел во время компиляции.
Использование этих журналов для создания всех записей реестра на целевом клиенте дополнительно не сработало.
любые подсказки или помощь были бы так оценены! эта вещь блокирует меня в течение нескольких дней в настоящее время :(
Почему вы получаете доступ к компоненту .Net через интерфейс COM вместо прямого доступа к CLR? Вы пробовали доступ через регистрацию в AOT \ References? Вы пробовали regsvr32 для регистрации DLL (Regasm должен выполнить эту работу). Regsvr32 используется для регистрации компонентов COM/ActiveX. –
Попробуйте указать точное сообщение об ошибке. –
Почему объект ActiveX - это визуальный компонент, который должен быть встроен в форму AX? –