Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
AlexLan73
2 / 2 / 1
Регистрация: 06.10.2013
Сообщений: 132
#1

Подключиться к COM-объекту, вызвать функции и прочитать таблицы - C++

08.02.2014, 09:03. Просмотров 633. Ответов 4
Метки нет (Все метки)

Подскажите пожалуйста.
Мне нужно подключиться к COM-объекту, вызвать функции и прочитать таблицы.
Есть COM-объект - AmiSharp.
http://www.bot4sale.ru/faq/amisharp-...-amisharp.html
Нужно реализовать чтение таблиц из этого объекта.
У меня все это реализовано средствами Amibroker, хочу реализовать на С++.

Ссылка на статью и пример если можно.

С уважением, Александр.
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.02.2014, 09:03     Подключиться к COM-объекту, вызвать функции и прочитать таблицы
Посмотрите здесь:

C++ как вызвать Main из другой функции???
как прочитать код стандартной функции C++
C++ Как вызвать из 1 функции параметры другой?
Как вызвать массив из функции? с++ C++
C++ Как вызвать функцию из функции main?
Почему допустимо создавать объект по другому объекту, но нельзя присваивать уже созданный объект, другому созданному объекту? C++
Как вызвать в main данные функции? C++
C++ Как из константной функции вызвать неконстантную?
Вывести на экран значение функции и вызвать исключение C++
Через массив указателей вызвать четыре функции C++
C++ Как вызвать 3 данные функции?
Вызвать функцию внутри другой функции C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Убежденный
Системный программист
 Аватар для Убежденный
14633 / 6594 / 1045
Регистрация: 02.05.2013
Сообщений: 10,865
Завершенные тесты: 1
08.02.2014, 19:59     Подключиться к COM-объекту, вызвать функции и прочитать таблицы #2
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Если COM-объект поддерживает автоматизацию, - а данном случае, скорее всего,
так и есть, - то у него должна быть библиотека типов (.tlb-файл).
Любой COM-совместимый компилятор должен уметь из этой библиотеки генерировать
файлы .h и .c с описанием соответствующих COM-интерфейсов. Например, в Visual C++
для этого существует директива import:

The #import Directive
http://msdn.microsoft.com/en-us/libr...=vs.90%29.aspx

К вопросу о том, где искать библиотеку типов.
Вам нужно найти в реестре то место, где зарегистрирован COM-объект.
Искать можно в HKCR\AppID по friendly-имени компонента (типа SAPI.SpVoice) и в
HKCR\CLSID (по GUID-у, если он известен). В ключе HKCR\CLSID\<guid компонента>
должа быть ссылка на библиотеку типов, т.е. GUID. Этот GUID нужно искать в
HKCR\TypeLib, и вот там должен быть строковой параметр REG_SZ, в котором
будет указан путь к библиотеке типов. Она, кстати, может (и часто так и бывает)
"вшита" в файл с самим COM-объектом (dll или exe).

Ну а дальше подключаете .h и .c файлы к своему проекту и там вызываете
CoInitializeEx -> CoCreateInstance и далее работаете с методами объекта.

Добавлено через 10 минут
То есть, метод поиска примерно такой:

Код
HKCR\SomeCompany.SomeComponent\
    CLSID\
	(default value = {SomeGUID} ; Здесь находим GUID компонента.

HKCR\CLSID\{SomeGUID}\
    TypeLib\
	(default value = {LibGUID} ; Здесь находим GUID библиотеки типов.

HKCR\TypeLib\{LibGUID}\
    1.0\ ; (или другой номер версии)
        0\
            win32\
                (default value = путь к библиотеке типов).
Добавлю, что если компонент 32-битный, а Windows 64-битная, то
сведения о его регистрации нужно искать в WOW64-ключах.
То есть, не HKCR\CLSID, например, а HKCR\Wow6432Node\CLSID.
AlexLan73
2 / 2 / 1
Регистрация: 06.10.2013
Сообщений: 132
08.02.2014, 20:02  [ТС]     Подключиться к COM-объекту, вызвать функции и прочитать таблицы #3
Спасибо)
Как всегда, у Вас хорошие ответы.
У меня только exe файл.
Автор программы утверждает, что этого достаточно что бы подключиться и пользоваться))
Буду экспериментировать.
Спасибо.
Убежденный
Системный программист
 Аватар для Убежденный
14633 / 6594 / 1045
Регистрация: 02.05.2013
Сообщений: 10,865
Завершенные тесты: 1
08.02.2014, 20:28     Подключиться к COM-объекту, вызвать функции и прочитать таблицы #4
Цитата Сообщение от AlexLan73 Посмотреть сообщение
У меня только exe файл.
exe-файл, судя по описанию на сайте, запускает регистрацию COM-объекта.
Ну а что это за объект, где расположени физически и есть ли у него библиотека типов -
неизвестно, для этого нужно исследовать сам exe, либо искать в поисковиках
какую-то информацию.
AlexLan73
2 / 2 / 1
Регистрация: 06.10.2013
Сообщений: 132
08.02.2014, 20:35  [ТС]     Подключиться к COM-объекту, вызвать функции и прочитать таблицы #5
Спасибо.
Получится напишу
Yandex
Объявления
08.02.2014, 20:35     Подключиться к COM-объекту, вызвать функции и прочитать таблицы
Ответ Создать тему
Опции темы

Текущее время: 23:33. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru