Не могу получить доступ к интерфейсу COM - PullRequest
0 голосов
/ 07 декабря 2009

Я работаю со скан-тестом документации приложения (шокером), и то, что там, кажется, вводит в заблуждение / противоречит. Я также спрошу компанию-разработчика программного обеспечения, но их последний ответ занял недели А пока .... (спасибо) .....

Я пытаюсь получить доступ к [заявленному] COM-интерфейсу приложения с графическим интерфейсом, которое мы назовем: Xyz

Мой вопрос: будут ли результаты, приведенные ниже, означать, что нет доступного COM-интерфейса, что он должен быть зарегистрирован и т. Д ...

РУКОВОДСТВО ПОЛЬЗОВАТЕЛЯ:

Вот только две цитаты, связанные с возможностью COM-интерфейса приложения:

  1. "Поскольку Xyz является 32-разрядным приложением, использующим компоненты COM (объектная модель компонентов), запуск Xyz из сети ...... ".

  2. "Вы можете получить доступ к COM-объекту Xyz.Interface, чтобы запросить информацию и представить ее в понравившемся формате".

ПРИМЕР КОДА 1:

Dim xyz_com Set xyz_com = CreateObject ("Xyz.Interface") xyz_com.Visible = ложь

РЕЗУЛЬТАТ 1:

"Объект не поддерживает это свойство или метод: 'Visible'"

ПРИМЕР КОДА 2:

Dim xyz_com Установить xyz_com = CreateObject ("Xyz.Interface")

РЕЗУЛЬТАТ 2:

Появляется начальный экран приложения, который - как я говорю, запускаю приложение в «режиме сервера», как они говорят, - я не думаю, что у меня будет экран, показывающий.

ПРИМЕР КОДА 3:

Dim xyz_com Set xyz_com = CreateObject ("Xyz.Interface") xyz_com.QueryInterface ()

РЕЗУЛЬТАТ 3:

"Объект не поддерживает это свойство или метод: 'QueryInterface'"

1 Ответ

0 голосов
/ 07 декабря 2009

Подразумевают ли результаты ниже что нет COM интерфейса доступно, что это должно быть зарегистрированы и т.д .. Вызов CreateObject выполняется успешно, поэтому интерфейс COM существует и зарегистрирован.

Некоторые комментарии:

  • Вы не можете напрямую вызвать QueryInterface, как это из VB
  • Вам необходимо привести объект к правильному интерфейсу перед установкой свойства Visible. Попробуйте Dim xyz_com as Xyz.Interface вместо Dim xyz_com
...