Форум программистов, компьютерный форум, киберфорум
Visual C++
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.87/15: Рейтинг темы: голосов - 15, средняя оценка - 4.87
0 / 0 / 1
Регистрация: 28.04.2009
Сообщений: 8

COM компоненты, как с ними разобратся?

09.09.2009, 11:10. Показов 2984. Ответов 8
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
У кого-нибудь есть пошаговая инструкция как создавать и подключать COM компоненты
в VС++ 6.0.(именно Com ,а не ActiveX)
Может быть есть книжки на эту тему. Я пару почитал, там все с самых низов, долго слишком разобраться,
с ActiveX все проще - создал, протестировал, подключил.
Как бы побыстрее научиться ?
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
09.09.2009, 11:10
Ответы с готовыми решениями:

Как разобратся с Windows Forms
Есть очень простое приложение в консоли. Никак не могу понять к сделать все тоже самое в Windows Forms using System; using...

W3c как в нем разобратся ?
Скиньте пожалуйста ссылки на действующие спецификации html / css, и как понять какую стоит знать ? Их там куча, что, все учить ? :read:

FIFO Очередь, как с ней разобратся??
Разработать подпрограммы работы с приоритетной очередью. Постановка запросов в очередь выполняется по приоритету, снятие - подряд из...

8
MCSD: APP BUILDER
 Аватар для IT_Exp
8795 / 1074 / 104
Регистрация: 17.06.2006
Сообщений: 32,602
09.09.2009, 11:14
Дейл Роджерсон "Основы COM"
0
 Аватар для oxotnik
1665 / 1134 / 80
Регистрация: 21.08.2008
Сообщений: 4,734
Записей в блоге: 1
09.09.2009, 11:23
вот статейка

Цитата Сообщение от AlexVM Посмотреть сообщение
подключать COM компоненты
куда подключать?
0
0 / 0 / 1
Регистрация: 28.04.2009
Сообщений: 8
09.09.2009, 11:27  [ТС]
oxotnik,
Для начала в проект VC++.
0
 Аватар для oxotnik
1665 / 1134 / 80
Регистрация: 21.08.2008
Сообщений: 4,734
Записей в блоге: 1
09.09.2009, 11:35
если есть *tlb файл:
#import "SomeFile.tlb" raw_interfaces_only, raw_native_types, no_namespace, named_guids ...
если есть только только *dll
#import <SomeFile.dll> raw_interfaces_only, raw_native_types, no_namespace, named_guids...
0
0 / 0 / 1
Регистрация: 28.04.2009
Сообщений: 8
09.09.2009, 11:37  [ТС]
Rififi,
Есть у меня эта книжка, только примеры не компилятся , а так-как я в СОМ не разбираюсь,
, трудно разобраться,
Есть что-то вроде Холзнера?
0
Эксперт С++
2924 / 1274 / 114
Регистрация: 27.05.2008
Сообщений: 3,465
09.09.2009, 17:58
AlexVM,коллега Rififi совершенно прав, советуя именно эту книжку. Лично я считаю ее лучшей для обучения COM технологии (это, правда, мое сугубое имхо). Примеры - компилятся, все в них нормально......

Здесь, правда, нужно понимать, что ты делаешь, а не просто тыкать мышкой в стиле "Щелкните эту кнопку, теперь бросьте на форму компонент, нажмите F9 - поздравляем! Вы откомпилировали вашу первую программу на C++!"
Если что-то не получается - читай снова и снова, ищи, в чем ты не прав. Все получится!
Удачи!
0
Автор FAQ
 Аватар для -=ЮрА=-
6614 / 4256 / 401
Регистрация: 08.08.2009
Сообщений: 10,325
Записей в блоге: 24
12.09.2009, 12:27
//Привожу куски кода из моего CdWriter (на основе imapi v1)
Ну для начала нужна создать указатель на интерфейс, у меня много интерфейсов с которыми работаю, вот и указателей несколько

// IMAPI Interface Smart Pointers:
_COM_SMARTPTR_TYPEDEF(IDiscMaster , __uuidof(IDiscMaster) );
_COM_SMARTPTR_TYPEDEF(IEnumDiscMasterFor mats, __uuidof(IEnumDiscMasterFormats));
_COM_SMARTPTR_TYPEDEF(IEnumDiscRecorders , __uuidof(IEnumDiscRecorders) );
_COM_SMARTPTR_TYPEDEF(IDiscRecorder , __uuidof(IDiscRecorder) );
_COM_SMARTPTR_TYPEDEF(IJolietDiscMaster , __uuidof(IJolietDiscMaster) );

Вот упрощённый вариант
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
int _tmain(int argc, _TCHAR* argv[])
{
    IDiscMasterPtr master;
    HRESULT hr;
 
     // COM
    hr = ::CoInitialize(NULL);//Обязательно для инициализации комов
    ATLASSERT(SUCCEEDED(hr));
 
     hr = master.CreateInstance( CLSID_MSDiscMasterObj );
    ATLASSERT(SUCCEEDED(hr));
 
      hr = master->Open();
    ATLASSERT(SUCCEEDED(hr));
 
      CreateJolietDisc( master );
 
      master->Close();
 
    _gettch();
 
    master = NULL;
    ::CoUninitialize();//Обязательно!!!
    return 0;
}
0
0 / 0 / 0
Регистрация: 26.06.2017
Сообщений: 6
12.09.2009, 12:52
есть отличная книга Эндрю Трелсен (некоторые пишут Троелсен) - основы СOM
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
12.09.2009, 12:52
Помогаю со студенческими работами здесь

Кто подскажет, как разобратся с Debug-ом?
кто помет помочь С++ выдаёт это сообщение . я пробовал установить другие версии как 2008 2013 и 2012 не помогает. Программа не выполняется

Помогите разобратся как работает <%Server.Execute();%>
Я вставляю в index.aspx файл def.aspx cледующим образом: &lt;%Server.Execute('def.aspx');%&gt; В файле def.aspx есть LinkButton и в файле...

Сформировать новый массив, в котором вначале стоят отрицательные элементы, за ними – нулевые, за ними – положительные
С клавиатуры вводится массив X, состоящий из положительных и от-рицательных элементов. Сформировать новый массив Y из элементов массива X,...

В векторе переместить в начало нулевые элементы, за ними – отрицательные элементы, за ними – положительные.
В целочисленном векторе vectorn переместить в начало все нулевые элементы, за ними – все отрицательные элементы в порядке их следования,...

[WPF] Как динамически создавать графические элементы и как с ними работать?
Здравствуйте! Я не очень понимаю как динамически в C# создавать графические элементы и как с ними работать. Статически задать в XAML...


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

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Новые блоги и статьи
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru