0 / 0 / 1
Регистрация: 28.04.2009
Сообщений: 8

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

09.09.2009, 11:10. Показов 2987. Ответов 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
Ответ Создать тему
Опции темы

Новые блоги и статьи
Автозаполнение реквизита при выборе элемента справочника
Maks 27.03.2026
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. При выборе "Спецтехники" (Тип Справочник. Спецтехника), заполняется. . .
Сумматор с применением элементов трёх состояний.
Hrethgir 26.03.2026
Тут. https:/ / fips. ru/ EGD/ ab3c85c8-836d-4866-871b-c2f0c5d77fbc Первый документ красиво выглядит, но без схемы. Это конечно не даёт никаких плюсов автору, но тем не менее. . . всё может быть. . .
Автозаполнение реквизитов при создании документа
Maks 26.03.2026
Программный код из решения ниже размещается в модуле объекта документа, в процедуре "ПриСозданииНаСервере". Алгоритм проверки заполнения реализован для исключения перезаписи значения реквизита,. . .
Команды формы и диалоговое окно
Maks 26.03.2026
1. Команда формы "ЗаполнитьЗапчасти". Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. В качестве источника данных. . .
Кому нужен AOT?
DevAlt 26.03.2026
Решил сделать простой ланчер Написал заготовку: dotnet new console --aot -o UrlHandler var items = args. Split(":"); var tag = items; var id = items; var executable = args;. . .
Отправка уведомления на почту при создании или изменении элементов справочника
Maks 24.03.2026
Программная отправка письма электронной почты на примере типового справочника "Склады" в конфигурации БП3. Перед реализацией необходимо выполнить настройку системной учетной записи электронной. . .
модель ЗдравоСохранения 5. Меньше увольнений- больше дохода!
anaschu 24.03.2026
Теперь система здравосохранения уменьшает количество увольнений. 9TO2GP2bpX4 a42b81fb172ffc12ca589c7898261ccb/ https:/ / rutube. ru/ video/ a42b81fb172ffc12ca589c7898261ccb/ Слева синяя линия -. . .
Midnight Chicago Blues
kumehtar 24.03.2026
Такой Midnight Chicago Blues, знаешь?. . Когда вечерние улицы становятся ночными, а ты не можешь уснуть. Ты идёшь в любимый старый бар, и бармен наливает тебе виски. Ты смотришь на пролетающие. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru