Обнаружено исключение COM: При вызове: AddItem Описание: 80004002 / Такой интерфейс не поддерживается

Я пытаюсь вызвать одну функцию приложения C# из приложения Java, используя интерфейс Jacob COM. Я получил ActiveXComponent из записи реестра. Я должен вызвать один метод

BaseElement AddItem(
    string name,
    ElementType type
)

здесь ElementType является ENUM в C# приложение. Но я не могу получить тип elsemnt, используя invokeGetComponent / getPropertyAsComponent.

Интересно, что я могу вызвать тот же метод, что и ниже,

ActiveXComponent appHandler= new ActiveXComponent("Application_name");
ActiveXComponent projectHandler = appHandler.invokeGetComponent("CreateProject", new Variant("C:\\temp"), new Variant("test"));

projectHandler.invokeGetComponent("AddItem", new Variant("item1"),new Variant(0));

Этот метод выполняет свои обязанности, используя целое число вместо ElementType, но выдает исключение

com.jacob.com.ComFailException: Обнаружено исключение COM: При вызове: AddItem Описание: 80004002 / Такой интерфейс не поддерживается на com.jacob.com.Dispatch.invokev(собственный метод) на com.jacob.com.Dispatch.invokev(Dispatch.java:625) на com.jacob.com.Dispatch.callN(Dispatch.java:453) на com.jacob.activeX.ActiveXComponent.invoke(ActiveXComponent.java:476) на com.jacob.activeX.ActiveXComponent.invokeGetComponent(ActiveXComponent.java:391)

Есть ли способы получить ENUM тип ElementType, указанный в приложении? Похоже, ElementType находится в другом пространстве имен в C#.

0 ответов

Другие вопросы по тегам