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

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

Войти
Регистрация
Восстановить пароль
 
ninja2
231 / 187 / 7
Регистрация: 26.09.2012
Сообщений: 2,018
Завершенные тесты: 1
#1

ATL не ясно как добавить объект - C++

01.08.2015, 19:01. Просмотров 448. Ответов 2
Метки нет (Все метки)

Здорова!
Создал проект ATL dll. В книге написано: "После создания COM сервера можно добавлять в него COM классы. Для вызова мастера выберите в меню Insert New Atl Object. При генерации нового проекта мастер добавит в проект файл исходного кода класса С++ содержащие реализацию и определение нового класса. Кроме того он добавляет интерфейс в IDL файл"

там написано для VS6, а у меня 10 и пункта меню Insert нету. Где искать добавление COM классов? Там есть добавление обычных классов, но там в книге рисунок именно должно быть не просто классов добавление а COM.???

Добавлено через 19 минут
Я уже разобрал, как обычный класс созаем, только выбираем простой ATL.

Пишут что в ATL создавать COM классы так же легко как и создавать программы на основе MFC. ???

Добавлено через 43 минуты
А можно добавить интерфейсы COM в ATL как то с помощью мастера? В книге пишут что только в ручную можно добавлять, но то старая книга и там vs6, а у меня 10, мб. можно как то не вручную добавлять?

Добавлено через 7 минут
от еще не ясно в книге пишут: "После введения интерфейсов в IDL файл, заново пропустите IDL файл через компилятор MIDL для создания новой копии spaceshipsvr.h с чисто абстрактными базовыми классами новых интерфейсов." Тех интерфейсов что мы добавили в IDL файл. Как запустить этот MIDL или он автоматом запускается?

Добавлено через 8 минут
Он автоматом создается, просто нажимаем F5 и он пересоздается или хз, а мб. и просто сам на автомате.

Добавлено через 8 минут
Там еще в карту интерфейсов тоже нужно добавлять, а для дуальных интерфейсов есть свой макрос специальный и если у нас определено два дуальных интерфейса мы в этом макросе указываем какой будет передан пользователю чтобы не было проблем.

Добавлено через 1 минуту
Вообще ATL при создании COM использует наследование походу, а MFC встроенные классы.

Добавлено через 18 минут
Создал COM dll, теперь ее нужно протестировать. А где в ATL progID моей dll находится?

Добавлено через 18 минут
Никак не могу найти progID, кто знает где его смотреть в ATL для обычной dll?

Добавлено через 24 секунды
в IDL файле вроде интерфейсы и классы.

Добавлено через 13 минут
Там нужно вручную добавил в фал геристра, но это не правильно, он по идее должен сам добавлятся, а у меня не добавляется? хз. мб. получится так что я два progid для одной программы создам, мб. сама программа создает, а я просто его не знаю? Кто знает как в ATL создаются progID и где их менять?

Добавлено через 6 минут
В общем если мы его не создали то у нас его нету, нужно при создании COM класса указывать, если не указали то в ручную добавляем в файл регистрации класса. Там в проекте создается файл в котором прописаны настройки регистрации, в него добавляем код который добавит progId в реестр либо вручную в реестр прописываем, где CLSID это CLSID нашего COM класса из файла IDL
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
01.08.2015, 19:01
Здравствуйте! Я подобрал для вас темы с ответами на вопрос ATL не ясно как добавить объект (C++):

Как добавить объект в вектор? - C++
Здравствуйте. Есть вектор: int main(){ short int Size=10; vector <Book> Library(Size); То есть массив из 10 объектов....

Как добавить объект в массив объектов? - C++
Начинающий, камнями прошу не кидаться :) Как создать динамический массив объектов я уже понял, а вот как добавить еще один элемент к...

Как добавить в вектор приватный объект класса - C++
Как добавить в вектор приватный объект класса? К примеру . ... class Class { public: int metod(); // который = b int i;

В ATL нашел код: __interface - как это работает - C++
__interfase - структура не содержащая свойств! в ATL нашел такой вот код, и никак не пойму как это работает struct CStringData; ...

Добавить объект класса - C++
Всем привет, делаю очередное задание. Мне нужно добавлять записи в "бд". Базой даных мне должен служить класс, в таком случае, как я...

Не могу добавить объект к множеству - C++
У меня есть функция, которая должна добавить объект в множество которое передается как параметр Была такая, но объект не добавляла: ...

2
castaway
Эксперт С++
4884 / 3019 / 370
Регистрация: 10.11.2010
Сообщений: 11,078
Записей в блоге: 10
Завершенные тесты: 1
01.08.2015, 19:03 #2
Я дико извиняюсь что вмешиваюсь в вашу дискуссию....., вы решили проблему?
0
ninja2
231 / 187 / 7
Регистрация: 26.09.2012
Сообщений: 2,018
Завершенные тесты: 1
01.08.2015, 23:56  [ТС] #3
Цитата Сообщение от castaway Посмотреть сообщение
Я дико извиняюсь что вмешиваюсь в вашу дискуссию....., вы решили проблему?
Да разобрался как COM объекты создавать. С ATL легче создавать чем в MFC, мастер все делает. Попробую AсtiveX создать. Оно сложновато разобраться много новых терминов. Там теории очень очень много и терминов новых.

Добавлено через 2 минуты
Я еще не протестил COM что создал, щас клиент создам и потестю как он будет работать.

Добавлено через 26 минут
Там неясно еще где брать IID интерфейсов. CLASID есть, а IID нету, похоже нужно переводить как то или хз.

Добавлено через 30 минут
ATL генерирует два файла, я их добавил в проект клиента и выскаличила ошибка:
spaceshipsvr_i.c
1>d:\visual studio 2010\projects\test_com1\test_com1\spaceshipsvr_i.c : fatal error C1853: файл предкомпилированного заголовка "Debug\test_COM1.pch" создан в предыдущей версии компилятора или предкомпилированный заголовок C++ используется из C (или наоборот)
1>
В чем проблема?
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
01.08.2015, 23:56
Привет! Вот еще темы с ответами:

Недопустимый неполный тип , или как передать в функцию указатель на объект класса , или просто объект - C++
Други мои , кодеры. Не могу я ни как передать в функцию объект класса , или что еще лучше(для меня , так как учусь работать с указателями)...

ATL - C++
Здравствуйте, не подскажете если ли туториалы на русском по этой библиотеке? Нужно написать службу

поделитесь ATL - C++
Доброго времени суток! Может у кого завалялась библиотека atl, будьте добры, поделитесь. на форум или файлообменик не принципиально. А...

Литература по ATL/WTL. - C++
Здравствуйте, уважаемые форумчане! Не могли бы вы посоветовать стоящую литературу по библиотекам ATL/WTL, желательно не метровой толщины.


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

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