Алекс Jenter - Программирование на Visual C++. Архив рассылки

Здесь есть возможность читать онлайн «Алекс Jenter - Программирование на Visual C++. Архив рассылки» весь текст электронной книги совершенно бесплатно (целиком полную версию без сокращений). В некоторых случаях можно слушать аудио, скачать через торрент в формате fb2 и присутствует краткое содержание. Жанр: Программирование, на русском языке. Описание произведения, (предисловие) а так же отзывы посетителей доступны на портале библиотеки ЛибКат.

Программирование на Visual C++. Архив рассылки: краткое содержание, описание и аннотация

Предлагаем к чтению аннотацию, описание, краткое содержание или предисловие (зависит от того, что написал сам автор книги «Программирование на Visual C++. Архив рассылки»). Если вы не нашли необходимую информацию о книге — напишите в комментариях, мы постараемся отыскать её.

РАССЫЛКА ЯВЛЯЕТСЯ ЧАСТЬЮ
, НА САЙТЕ КОТОРОГО ВСЕГДА МОЖНО НАЙТИ ВСЮ НЕОБХОДИМУЮ РАЗРАБОТЧИКУ ИНФОРМАЦИЮ, СТАТЬИ, ФОРУМЫ, РЕСУРСЫ, ПОЛНЫЙ АРХИВ ПРЕДЫДУЩИХ ВЫПУСКОВ РАССЫЛКИ И МНОГОЕ ДРУГОЕ.

Программирование на Visual C++. Архив рассылки — читать онлайн бесплатно полную книгу (весь текст) целиком

Ниже представлен текст книги, разбитый по страницам. Система сохранения места последней прочитанной страницы, позволяет с удобством читать онлайн бесплатно книгу «Программирование на Visual C++. Архив рассылки», без необходимости каждый раз заново искать на чём Вы остановились. Поставьте закладку, и сможете в любой момент перейти на страницу, на которой закончили чтение.

Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

CDialog::OnOK();

}

Здесь все предельно ясно. Передавая нашу «куку» (m_dmCookie) функции AfxConnectionUnadvise, мы тем самым отписываемся от рассылки событий. После чего делаем m_MyInterface = NULL, чем вызываем выгрузку COM-сервера.

Последним штрихом добавим код в обработчик второй нашей кнопки:

void CPointClientDlg::OnFireevent() {

m_MyInterface->FireMyEvent();

}

Сохраните все сделанные нами изменения и постройте проект. Если все сделали правильно, то должны были получить 2 сообщения об ошибке, рисунок 11.

Рисунок 11 Все правильно Для того чтобы эти функции не вызывали ошибок нужно - фото 15

Рисунок 11

Все правильно. Для того, чтобы эти функции не вызывали ошибок нужно сделать следующее подключение:

#include

Попробуйте снова. Сейчас все должно быть без ошибок.

Устали? Я тоже. Подождите, осталось совсем немного. Сейчас мы реализуем код функции, что будет вызывать у нас сервер, и на этом закончим. Итак, откройте файл PointClientDlg.h и сразу после декларации карты сообщений вставьте ещё несколько определений:

DECLARE_DISPATCH_MAP()

DECLARE_INTERFACE_MAP()

BOOL OnMyEvent();

Таким способом вы объявите две карты: DISPATCH MAP и INTERFACE MAP, которые нам необходимы. А также объявите обработчик OnMyEvent события MyEvent. Сохраните, сделанные изменения и закройте файл.

Теперь откройте файл реализации класса CPointClientDlg, PointClientDlg.cpp, и сразу после окончания реализации карты сообщений вставьте следующий код:

BEGIN_DISPATCH_MAP(CPointClientDlg, CDialog)

DISP_FUNCTION_ID(CPointClientDlg, "MyEvent",1, OnMyEvent, VT_BOOL, VTS_NONE)

END_DISPATCH_MAP( )

BEGIN_INTERFACE_MAP(CPointClientDlg, CDialog)

INTERFACE_PART(CPointClientDlg, DIID_IFireClassEvents, Dispatch)

END_INTERFACE_MAP()

BOOL CPointClientDlg::OnMyEvent() {

AfxMessageBox("Event!!!!!!!!");

return TRUE;

}

Что же это означает?

Во-первых, между макросами BEGIN_DISPATCH_MAP и END_DISPATCH_MAP, с помощью DISP_FUNCTION_ID по номеру метода (1 — см. ODL-файл сервера) мы указываем имя события (MyEvent), его обработчик (OnMyEvent), тип возвращаемого значения (VT_BOOL), а также тип аргументов (VTS_NONE — в данном случае их нет).

Далее идет реализация интерфейсной карты и реализация функции обработчика события OnMyEvent.

На этом, пожалуй, все. Сохраните файл, постройте проект и запустите на выполнение нашего клиента. Если вы все делали правильно, то по нажатию на кнопку "Fire Event", должны получить результат как на рисунке 12.

Рисунок 12 На этом я закончу Надеюсь что этот материал комуто окажет помощь - фото 16

Рисунок 12

На этом я закончу. Надеюсь, что этот материал кому-то окажет помощь в трудную минуту.

ВОПРОС-ОТВЕТ

Как узнать имя exe-файла выполняемой программы?

Автор: Артур Вартанов

Функция GetModuleFileName возвращает полный путь и имя исполняемого файла. Пример ее использования смотри ниже.

TCHAR FileName[MAX_PATH + 1]; // буфер для имени файла

GetModuleFileName(NULL, FileName, MAX_PATH + 1);

Первый параметр функции GetModuleFileName – дескриптор модуля, для которого требуется получить имя. Если в качестве первого параметра указан hInstance программы или NULL, возвращается имя выполняемой программы. Если же указать дескриптор загруженного модля (DLL), который возвращается функциями LoadLibrary, LoadLibraryEx или GetModuleHandle, возвращается имя этой DLL. Кроме функции GetModuleFileName, существует функция GetModuleFileNameEx, позволяющая получить имя модуля, загруженного в адресное пространство другого процесса.

Это все на сегодня. Пока!

Алекс Jenter jenter@rsdn.ru Красноярск, 2001. Рассылка является частью проекта RSDN.

Программирование на Visual C++

Выпуск №50 от 15 июля 2001 г.

Приветствую вас!

СТАТЬЯ
Отчёты Crystal Reports для Visual C++ 6
Автор: Илья Гуня

Недавно я начал писать один небольшой проект на VC с отчетом Crystal Reports 8 и столкнулся со следующей проблемой: я не знал, как написать отчет. После поиска материалов на эту тему в интернете, у меня сложилось впечатление, что перед разработчиками на VC не стоит проблема создания отчетов. На CodeGuru в разделе Databases я не нашел ни одного материала на эту тему. Пришлось копать эту тему самому. К сожалению, у меня оказался только один пример, в котором довольно сложный отчет полностью создаётся в run-time без использования редактора отчетов. Это автоматически означало, что мне нужно будет изучить несколько десятков, а то и сотен килобайт текста, прежде чем я выдам первый отчет. Времени на это у меня не было. Поэтому для создания отчета я воспользовался следующей технологией, которая и описывается ниже.

Читать дальше
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

Похожие книги на «Программирование на Visual C++. Архив рассылки»

Представляем Вашему вниманию похожие книги на «Программирование на Visual C++. Архив рассылки» списком для выбора. Мы отобрали схожую по названию и смыслу литературу в надежде предоставить читателям больше вариантов отыскать новые, интересные, ещё непрочитанные произведения.


Алексей Макеев - Смертельный архив
Алексей Макеев
libcat.ru: книга без обложки
Алексей Апухтин
Отзывы о книге «Программирование на Visual C++. Архив рассылки»

Обсуждение, отзывы о книге «Программирование на Visual C++. Архив рассылки» и просто собственные мнения читателей. Оставьте ваши комментарии, напишите, что Вы думаете о произведении, его смысле или главных героях. Укажите что конкретно понравилось, а что нет, и почему Вы так считаете.

x