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

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

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Почему не компилируется http://www.cyberforum.ru/cpp-beginners/thread1508263.html
#include "stdafx.h" #include <iostream> #include <conio.h> using namespace std; const double Pi = 3.14159; double Area(double InputRadius); double Circumference(double InputRadius); int main() {
C++ Иcпользование switch Хочу чтобы при нажатии 1 выходил текст "Ti najaL 1" и т.д. Затрудняюсь объявить массив с. #pragma hdrstop #include <locale> #include <stdio.h> #include <conio.h> #include <string.h> #include <stdlib.h> #define eof 71 //G #define max 1000 http://www.cyberforum.ru/cpp-beginners/thread1508249.html
C++ Потоковые итераторы
Я новичок, прошел тему "STL" по учебнику Лафоре. Пишу в Code::Blocks, поставить другую IDE возможности мало. При попытке работы с istream_iterator (тоже самое с ostream) компилятор (GNU GCC) выдает "was not declared in this scope" про итератор. При копировании кода из учебника или сайтов вылетает тоже самое. Прошу о помощи решить эту проблему.
C++ Тайные знаки и путанница ссылок с указателями
Всего два вопроса. #include <iostream> using namespace std; void fn(int& b) { int c = 0; do {
C++ Передача массива в функцию используя указатель на функцию http://www.cyberforum.ru/cpp-beginners/thread1508221.html
У меня имеется готовая программа без передачи функции в функцию указателем, мне нужно передать функцию ввода масива в функцию его обработки с помощью указателя. Имеется 3 функции ввода и 1 обработки, при вводе не из файла в качестве отсутствующих параметров можно добавить (..., NULL, "") дабы был один формат Без указателей объявления такие: int InpKbdArr(__int16 * & Arr, unsigned int &...
C++ Select option консольная команда здравствуйте. как можно сделать в консольной команде например: в php HTMl кодах используется <select> и <option> + simbut и в C++ возможно ли сделать такой запрос как select Option только без simbut подробнее

Показать сообщение отдельно
ninja2
230 / 186 / 7
Регистрация: 26.09.2012
Сообщений: 2,018
Завершенные тесты: 1

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

01.08.2015, 19:01. Просмотров 416. Ответов 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
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru