Category Archives: Программирование

Основы компьютерных технологий: учебное пособие

Основы компьютерных технологий: учебное пособие

Компьютерные технологии служат для автоматизации процессов
создания, переработки, хранения, передачи и накопления информации.
Учебное пособие содержит основные понятия компьютерных
технологий.
Целями данного учебного пособия являются:
? изложение основных понятий и современных подходов к компьютерным
технологиям,
? описание аппаратного и программного обеспечения компьютерной
техники,
? представление основ программирования на языках высокого уровня,
? демонстрация возможностей систем автоматизации в современных
информационных технологиях.
В результате изучения дисциплины «Компьютерные технологии в
приборостроении» студенты должны:
? получить представление об аппаратных и программных средствах ЭВМ,
? усвоить основные принципы алгоритмизации и программирования на
языках высокого уровня С/С++;
? изучить основы программных средств автоматизации математических
расчетов;
? освоить приемы использования систем автоматизации математических
расчетов для решения инженерных задач.
В учебном пособии подробно рассмотрены основные понятия
программирования на языках С/С++:
? основы построения программы,
? ввод и вывод данных,
? операции и операторы, реализующие последовательные, ветвящиеся и
циклические алгоритмы,
? функции графического режима.
Кроме того, в пособии представлены основные приемы работы с
текстовыми редакторами, табличными процессорами и системами
автоматизации математических расчетов (на примере системы MATLAB).
Оно предназначено для студентов, изучающих дисциплины
«Компьютерные технологии» и «Компьютерные технологии в
приборостроении».
1 АППАРАТНОЕ И ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ
КОМПЬЮТЕРНОЙ ТЕХНИКИ

1.1 Основные блоки компьютера

Как правило, персональные компьютеры состоят из системного
блока и внешних устройств.
В системном блоке располагаются основные узлы компьютера:

 

— электронные схемы, управляющие работой компьютера
(микропроцессор, оперативная память, контроллеры устройств),
— блок питания, преобразующий электропитание сети в постоянный ток
низкого напряжения, подаваемый на электронные схемы компьютера,
— накопители на жестких и гибких магнитных дисках.
Микропроцессор – это электронная схема, выполняющая
вычисления и обработку информации.
Важным элементом компьютера является оперативная память. Из
оперативной памяти процессор берет программы и исходные данные для
обработки, в нее он записывает полученные результаты.
Постоянная

Комментарии к записи Основы компьютерных технологий: учебное пособие отключены

Filed under Программирование

Программно-аппаратные средства защиты информации. Лабораторные работы

Программно-аппаратные средства защиты информации. Лабораторные работы

Лабораторная работа № 1

Анализ алгоритмов скремблирования
Цель работы: ознакомить с методами закрытия информации с
помощью алгоритмов скремблирования и их реализацией.

основные положения
обоснованный выбор требуемого уровня защиты информации
(зи) является важной задачей, поскольку как занижение, так и
завышение уровня защиты неизбежно ведет к потерям. выбор системы зи зависит от предполагаемого способа нападения. решение
этой задачи зависит от формы представления информации (видео-,
аудио-, электромагнитный сигнал, цифровая информация), а способ защиты – от предполагаемой формы воздействия на информацию, используемого носителя информации, состояния информационного носителя, от того, как производится защита информации непрерывно или по мере обнаружения факта нападения.
К системе зи предъявляются следующие требования:
функциональные;
эргономические;
экономические;
технические;
организационные.
функциональные требования включают обоснование решений
всей совокупности задач и удовлетворение требованиям защиты.
под эргономическими требованиями понимаются требования
минимизации создаваемых помех пользователям и удобство для
персонала системы зи.
Экономические требования подразумевают минимизацию затрат
на систему зи и максимальное использование серийных средств.
К техническим требованиям относятся требования оптимизации архитектуры и комплексного использования средств.
организационные требования включают структурированность
всех компонентов и простоту эксплуатации.

одним из уязвимых каналов утечки информации являются телефонные линии общего пользования, посредством которых осуществляется большое количество конфиденциальных переговоров.
современная аппаратура съема информации позволяет легко прослушивать эти каналы. наиболее простой способ получения информации – непосредственное подключение к линии в любой точке от
абонента (телефонного аппарата) до входа в Атс. при использовании аппаратуры съема высокого класса практически невозможно
определить несанкционированное подключение к линии. в таком
случае единственным способом защиты информации является преобразование ее к такому виду, из которого злоумышленник не сможет понять ее содержания в течение какого-то определенного времени.
в системах связи широко применяются два основных метода закрытия речевых сигналов: аналоговое скремблирование и дискретизация речи с последующим шифрованием. под скремблированием понимается изменение характеристик речевого сигнала таким
образом, что полученный модулированный сигнал, обладая свойствами неразборчивости и неузнаваемости, занимает такую же полосу частот спектра, как и исходный открытый.

Комментарии к записи Программно-аппаратные средства защиты информации. Лабораторные работы отключены

Filed under Программирование

Стандартизация жизненного цикла и качества программных средств

Стандартизация жизненного цикла и качества программных средств

 

Увеличивающаяся в мировом масштабе конкуренция среди организаций – разработчиков программного обеспечения (ПО), повышение требований конечного пользователя к качеству и надежности
программных средств привело их разработчиков к пониманию важности вопросов стандартизации в области качества.
Для того чтобы поддерживать конкурентоспособность своей организации, разработчики ПО должны применять более эффективные,
рентабельные методы, технологии, инструментальные средства, способствующие постоянному повышению качества и более совершенному удовлетворению потребителей ПО.
Требования потребителей часто включаются в технические условия (ТУ) или неформализованные требования, описанные на некотором вербальном языке. Однако технические условия и неформализованные требования сами по себе не гарантируют их удовлетворения
в конечном продукте, так как в настоящее время существует проблема выработки приемлемых требований к программному продукту, а также ряд других проблем, возникающих в процессе разработки конечного продукта. Это соображение привело к разработке стандартов, руководств, руководящих документов, относящихся к системам качества и дополняющих релевантные требования к ПО, установленные в технических требованиях. Международные стандарты серии ИСО 9000 впервые создали общую основу для стандартов
на системы качества, которые применимы в различных областях
деятельности человека. Основные положения серии стандартов ИСО
9000 рассмотрены в гл. 1 учебного пособия.
Международные стандарты серии ИСО 9000 устанавливают, какие именно элементы должны включаться в систему качества, каким образом конкретная организация должна реализовать эти элементы. Введение единообразных систем качества не является целью
этих стандартов. Потребности различных организаций отличаются
друг от друга. На проект и реализацию системы качества обязательно оказывают влияние конкретные цели, продукция и процессы, а
также специфические методы данной организации.

Международные стандарты серии ИСО 9000 основаны на понимании того факта, что всякая работа выполняется с помощью сети
процессов. Каждый процесс имеет входные факторы, а выходом являются результаты процесса – продукция, осязаемая и не осязаемая. Каждая организация существует для того, чтобы выполнять
работу, добавляющую стоимость. В процессе получения конечного
продукта должны быть выполнены многочисленные операции, включающие в себя организацию, проектирование, управление технологическими процессами, маркетинг, обучение, управление людскими
ресурсами, стратегическое планирование, поставку, техническое обслуживание и т. д. Принимая во внимание сложную структуру большинства организаций, важно выделить основные процессы,

Комментарии к записи Стандартизация жизненного цикла и качества программных средств отключены

Filed under Программирование

Теория автоматов: учебное пособие

1. КИБЕРНЕТИКА НАУКА ОБ УПРАВЛЕНИИ

1.1. Создание кибернетики
Кибернетика это наука об общих законах получения, хранения и
передачи информации, т. е. о процессах, которыми характеризуется интеллектуальная деятельность как естественная, так и искусственная.
Кибернетика явилась фундаментом, на котором выросла вся современная вычислительная техника и другие науки.
Впервые представление об искусственном интеллекте появилось в
научно-фантастической литературе, в частности американский ученый
и писатель Айзек Азимов в 1974 году писал: Я придумал в 1942 году
три закона робототехники и написал на их основе несколько десятков
рассказов, относясь ко всем этим роботам и искусственным интеллектам как к экзотическим плодам воображения. Я считал, что робот (или
вычислительная машина, или искусственный интеллект) необходим человечеству. Затем я обнаружил, что, в конце концов, вычислительные
машины смогут достичь интеллектуального уровня, сравнимого с человеческим… и даже намного превзойти его…, но, тем не менее, я должен открыть Вам одно обстоятельство: я никогда не верил в реальность всего этого в этом отношении мое воображение отказало. Я
никогда в действительности не предполагал, что искусственный интеллект возможен, и я совершенно определенно никак не предполагал, что
застану время, когда люди будут серьезно работать в этой области [1].
Научная теория по разработке искусственного интеллекта была провозглашена американским ученым Норбертом Винером в 1948 году.
Тогда же он ввел понятие кибернетики как науки об общих закономерностях процессов управления и передачи информации в машинах, живых организмах и их объединениях. Вместе с этим словом более 50 лет
назад в наш мир ворвался целый поток совершенно новых идей и представлений.
В России первые работы по кибернетике появились в 1956 году, причем сначала это были в основном переводы книг и статей американских ученых, а спустя некоторое время появились и собственные разработки. Одними из первых русских кибернетиков были советские ученые Аксель Иванович Берг, Виктор Михайлович Глушков и Александр
Андреевич Ляпунов.

1.2. Предмет и методы исследования кибернетики
В качестве основных разделов кибернетики могут быть выделены:
1. Теория информации, изучающая способы восприятия, хранения,
преобразования и передачи информации.
2. Теория программирования, изучающая и разрабатывающая методы переработки информации и использования ее для управления, причем программирование работы любой системы управления в общем
случае включает в себя определение и разработку условной математической схемы (алгоритма) нахождения решений и составление программы в коде, воспринимаемом данной системой.
3. Теория систем

Комментарии к записи Теория автоматов: учебное пособие отключены

Filed under Программирование

Теория автоматов. Книга 2. Учебное пособие

6. СТРУКТУРНЫЙ СИНТЕЗ АВТОМАТОВ

6.1. Композиция автоматов
Структурный синтез автоматов осуществляется на базе структурной
теории автоматов, в которой в отличие от абстрактной теории производится учет большого числа свойств реально существующих цифровых
автоматов. Абстрактный автомат представляет собой математическую
модель проектируемого устройства. В структурном же автомате учитывается структура входных и выходах сигналов, а также внутренняя структура автомата на уровне так называемых структурных схем. В структурной теории автоматов принят отсчет автоматного времени, начиная
с 0 такта, т. е. t = 0, 1, 2, …
Главной задачей структурной теории автоматов является нахождение общих приемов построения структурных схем автомата на основе
композиции элементарных автоматов, принадлежащих к заранее заданному конечному числу типов. Рассмотрим, как представляется автомат в структурной теории автоматов. У абстрактного автомата один
входной и один выходной каналы. В структурной же теории как входные, так и выходные каналы автомата считаются состоящими из нескольких элементарных входных и соответственно элементарных выходных каналов. По этим каналам передаются элементарные сигналы.
Набор всех возможных для данного автомата элементарных сигналов
называется структурным алфавитом данного автомата. Каждый элементарный входной канал подсоединен к входному узлу автомата, а
каждый элементарный выходной канал к выходному узлу автомата.
Сформулируем определение общего способа композиции автома-
тов. Пусть {A1, A2, …, An}(n ? 0) конечное множество автоматов.
Необходимо произвести объединение этих автоматов в систему совместно работающих автоматов. Введем некоторое конечное множество
узлов, которые назовем внешними входными узлами, и некоторое конечное множество других узлов, которые назовем внешними выходными узлами. Входные и выходные узлы автоматов A1, A2, …, An будем
называть внутренними входными и выходными узлами.
Композиция автоматов состоит в том, что в полученной системе,
состоящей из заданных автоматов A1, A2, …, An и внешних узлов, производится отождествление некоторых узлов (как внешних, так и внутренних). У цифровых автоматов операции отождествления узлов соответствует соединение этих узлов проводниками.
После проведения отождествления узлов произвольная система автоматов превращается в так называемую схему или сеть автоматов.
Будем считать, что автоматы, входящие в схему, работают совместно,
если в каждый момент t автоматного времени (t = 0, 1, 2, …) на все
внешние входные узлы схемы подается какой-либо

Комментарии к записи Теория автоматов. Книга 2. Учебное пособие отключены

Filed under Программирование

Основы программирования на языке СИ

Основы программирования на языке СИ

Язык C был создан в начале 70-х годов двадцатого столетия и в настоящее время является основой для создания значительной части
системных программ и приложений. Он эффективен как для решения
задач системного программирования, так и для создания прикладных
программ. Среди преимуществ языка C можно отметить переносимость
программ, написанных на языке С, на компьютеры различной архитектуры и из одной операционной системы в другую, лаконичность записи
алгоритмов, логическую стройность, возможность получить эффективный код программ, сравнимых по скорости с программами, написанными на ассемблере. Удобство языка С основано на том, что он является
одновременно и языком высокого уровня, имеющим полный набор конструкций структурного программирования, поддерживающим модульность, блочную структуру программ, возможность раздельной компиляции модулей. В то же самое время язык С имеет набор низкоуровневых средств, позволяющих иметь удобный доступ к аппаратным средствам компьютера, в частности, позволяющих добраться до каждого бита
памяти. Гибкость и универсальность языка С обеспечивает его широкое
распространение.
Учебное пособие ориентировано на начинающих программистов,
имеющих первоначальные понятия об основах алгоритмизации на уровне
курса информатики. Каждый раздел пособия снабжен соответствующими примерами, которые представляют собой программы, написанные
на языке С, или отдельные конструкции таких программ. Все приводимые примеры используют стандарт ANSI языка С и ориентируются на
трансляторы, созданные фирмой Borland International Inc., как самые
распространенные. Усвоение учебного материала, представленного в
данном пособии, позволит приобрести устойчивые навыки правильного написания программ на языке С, а также значительно облегчить изучение объектно-ориентированного языка – С++.

1. ОСНОВНЫЕ ПОНЯТИЯ ЯЗЫКА С

1.1. Алфавит, идентификаторы, ключевые слова, комментарии
Алфавитом языка называется совокупность символов, используемых
в языке. Язык C различают, в отличие от многих других языков программирования, прописные и строчные буквы. Язык C, как говорят,
является чувствительным к регистру. В языке С имена COLOR, color, и
Color определяют три различные имени переменных. Поэтому при написании программ необходимо быть внимательным при использовании
регистров. Обычно используется следующее соглашение – имена переменных содержат только строчные буквы (нижний регистр), константы
и макросы – прописные буквы (верхний регистр).
В именах переменных можно использовать символ подчеркивания. Обычно с символа подчеркивания начинаются имена системных переменных и констант. В библиотечных функциях также часто
используются имена, начинающиеся с символа подчеркивания. Поэтому

Комментарии к записи Основы программирования на языке СИ отключены

Filed under Программирование

Техническая электродинамика. Направляющие системы и направляемые волны

Техническая электродинамика. Направляющие системы и направляемые волны

1. ОБЩИЕ ПОНЯТИЯ И ОПРЕДЕЛЕНИЯ

1.1. Классификация линий передачи
Различают свободные и направляемые электромагнитные волны.
Свободными называются электромагнитные волны, распространяющиеся в неограниченном пространстве. Направляемыми называются
электромагнитные волны, распространяющиеся вдоль линий передачи.
Линией передачи называют устройство, ограничивающее область
распространения электромагнитных волн и обеспечивающее движение потока энергии электромагнитной волны в заданном направлении. Линии передачи могут быть регулярными и нерегулярными, однородными и неоднородными.
Регулярной называют линию передачи, у которой поперечное сечение и электрофизические свойства заполняющих ее сред являются
неизменными вдоль всей линии. Нерегулярной называют линию передачи, у которой нарушено хотя бы одно условие регулярности.
Однородной называют линию передачи, заполненную однородной
средой. Неоднородной – линию передачи, заполненную неоднородной средой.
В зависимости от наличия или отсутствия в конструкции линии
передачи замкнутого проводящего экрана, отделяющего область пространства, в которой распространяется направляемая волна, от окружающей среды, различают волноводы и открытые линии передачи. Волноводами называются линии передачи, в поперечном сечении которых имеется один или несколько замкнутых проводящих контуров, охватывающих область распространения направляемых волн.
В поперечном сечении открытых линий передачи таких контуров нет.
Геометрической характеристикой поперечного сечения линии передачи, определяющей количество изолированных проводящих поверхностей, входящих в состав ее конструкции, является «порядок
связности» линии передачи. Различают односвязные, двухсвязные,
многосвязные линии и линии передачи нулевой связности.

1.2. Некоторые виды линий передачи
На рис. 1 приведены эскизы поперечных сечений некоторых видов
линий передачи.

Рис. 1. Некоторые виды линий передачи

а – двухпроводная линия передачи (двухсвязная открытая линия передачи);
б – коаксиальный волновод (двухсвязный волновод с соосными внешним и внутренним проводниками);
в – микрополосковая линия передачи (двухсвязная открытая неоднородная линия передачи);
г – прямоугольный волновод (односвязный волновод, имеющий прямоугольное поперечное сечение);
д – круглый волновод (односвязный волновод, имеющий круглое поперечное сечение);
е – диэлектрическая линия передачи (открытая линия передачи нулевой связности).

1.3. Классификация электромагнитных волн,
распространяющихся в линиях передачи
В зависимости от вида линий передачи в них могут распространяться электромагнитные волны четырех классов:
поперечные или Т-волны (старое название и обозначение –

Комментарии к записи Техническая электродинамика. Направляющие системы и направляемые волны отключены

Filed under Программирование

Технология программирования. Лекции

Технология программирования. Лекции

Содержание:

Раздел I. Методические указания по дистантному изучению курса…………………. 4

Раздел II. Конспект лекций курса «Технология программирования»………………… 5

Введение…………………………………………………………………………………………………………. 5

1. Технологический цикл создания программы………………………………………………. 6

2. Определение требований к программе…………………………………………………………. 9

2.1. Анализ требований к программе.…………………………………………………………………………………………… 9

2.2. Составление спецификаций на программу.………………………………………………………………………… 9

3. Выбор и описание алгоритма…………………………………………………………………….. 11

3.1. Выбор алгоритма…………………………………………………………………………………………………………………….. 11

3.2. Описание алгоритма………………………………………………………………………………………………………………. 14

3.2.1. Блок-схемы…………………………………………………………………………………………………………………………. 14

3.2.2. Структурный подход…………………………………………………………………………………………………………. 21

3.2.3. Псевдокод…………………………………………………………………………………………………………………………… 26

3.3. Модульность и нисходящее программирование………………………………………………………………. 27

3.4. Раздельно компилируемые модули…………………………………………………………………………………….. 29

4.    Разработка организации данных…………………………………………………………….. 33

4.1. Полный набор типов данных……………………………………………………………………………………………….. 33

4.1.1. Система типов данных………………………………………………………………………………………………………. 33

4.1.2. Перечисляемые и ограниченные типы (диапазоны)……………………………………………………….. 34

4.1.3. Символьный тип…………………………………………………………………………………………………………………. 36

4.1.4. Массивы……………………………………………………………………………………………………………………………… 36

4.1.5. Записи…………………………………………………………………………………………………………………………………. 37

4.1.6. Тип множество……………………………………………………………………………………………………………………. 37

4.1.7. Процедурный тип………………………………………………………………………………………………………………. 39

4.1.8. Определение операций над типами, определяемыми пользователем…………………………… 40

4.2. Слабая и сильная типизация языков программирования.…………………………………………….. 41

4.3.       Указатели и динамические структуры данных…………………………………………………………… 46

4.3.1. Общие принципы……………………………………………………………………………………………………………….. 46

4.3.2. Связные списки…………………………………………………………………………………………………………………… 48

4.

Комментарии к записи Технология программирования. Лекции отключены

Filed under Программирование

Методические указания по изучению курса «Технология программирования»

Методические указания по изучению курса «Технология программирования»

Изучение курса «Технология программирования» предполагает освоение теоретического материала, изложенного в конспекте лекций, и выполнение контрольного практического задания.

Порядок изучения курса следующий:

1. Прочтите весь конспект лекций от начала до конца. Если есть возможность, делайте это по распечатке, а не с экрана монитора. В дальнейшем вам придется не раз читать конспект, и наличие распечатки облегчит эту работу.

2. Ознакомьтесь с содержанием практического задания по тому номеру, который укажет вам преподаватель.

3. Разработайте программу решения задания, выполнив все необходимые технологические операции.

4. Представьте дискету с программным продуктом (включая исходный текст) и отчет по разработанному программному продукту. Отчет должен быть выполнен в соответствии с требованиями ГОСТов ЕСПД и иметь следующую структуру:

  • Титульный лист с названием курса, номером задания, фамилией, именем, отчеством слушателя, его адресом и датой написания.
  • Текст задания.
  • Спецификации разрабатываемой программы.
  • Описание программы (обоснование выбора и описание алгоритма программы)
  • Описание тестов для тестирования программы.
  • Комментированный текст программы на выбранном языке программирования (Pascal, C, C++).
  • Результаты тестирования.
  • Руководство пользователя программы.

В случае неудовлетворительной оценки вашей работы, внесите изменения в отчет в соответствии с высланными вам замечаниями.

Список  заданий на разработку программы

 

Задания по вычислительной математике и линейной алгебре

  1. Разработайте программу решения системы N линейных уравнений, N<=10. Предусмотрите случаи отсутствия решения и бесконечного количества решений.
  2. Напишите программу вычисления определителя и обратной матрицы для заданной квадратной матрицы порядка N<=10.
  3. Напишите программу нахождения вещественных корней уравнения одной переменной до третьей степени включительно.

 

Задания по графике

 

  1. Разработайте программу, изображающую на экране монитора эллипс с заданными координатами центра, полуосями и наклоном большой оси к горизонтали.
  2. Разработайте программу, изображающую график заданного многочлена одной переменной степени N<=10 в заданной области изменения координат по абсциссе и ординате.
  3. Разработайте программу, которая изображает на экране монитора часы с секундной стрелкой,  отсчитывающие текущее системное время компьютера.

 

Задание на разработку простой базы данных

 

Разработайте программу, работающую с простой базой данных, представляющей собой типизированный файл. Программа должна обеспечивать

Комментарии к записи Методические указания по изучению курса «Технология программирования» отключены

Filed under Программирование

Простой проект ATL COM

Простой проект ATL COM

Введение

Цель лабораторной работы состоит в том, чтобы дать основы создания COM сервер, используя библиотеку шаблонных классов, и затем вызвать сервер из программы на Visual C++. Программа разработана для показа создания объектов COM на базе библиотеки шаблонных классов.

Шаг 1: Запуск ATL COM Wizard

  1. Запустить Visual C++ и создать новый проект.
  2. Выбрать ATL COM AppWizard.
  3. Дать имя проекту Simple_ATL. Определить местоположение проекта для сохранения, и затем нажать кнопку OK.
  4. Появится панель с блоками выбора. Первый блок – Server Type. Для создания сервера DLL установить тип сервера на Dynamic Link Library. Другие три блока контроля можно проигнорировать. Нажать кнопку Finish для подготовки мастером файлов проекта.
  5. Появится панель New Project Information, которая представит создаваемые файлы. Нажать кнопку OK для подтверждения.

Шаг 2: Создание нового объекта ATL

  1. Убедится в видимости панели Workspace View для IDE VC ++. При отсутствии можно открыть меню View и затем выбрать Workspace.
  2. Из трех закладок выбрать ClassView, на котором должно быть видно Simple_ATL Classes. Правым щелчком по нему выбрать из выпадающего меню New ATL Object. Появится следующая панель.

  1. Согласиться с выбором по умолчанию (Simple Object) и нажать кнопку Next. Появится панель ATL Object Wizard Properties.
  2. На закладке Names в текстовом поле Short Name ввести First_ATL. Мастер автоматически заполнит остальные текстовые поля.
  3. Перейти на закладку Attributes. Здесь имеется несколько блоков выбора.
  4. Для первого блока, Threading Model, сохранить выбор по умолчанию Apartment. Для Interface выбрать Dual. Наконец, для Aggregation” выбрать “No. Нажать кнопку OK и позволить мастеру создать новый объект библиотеки шаблонных классов.

Шаг 3: Добавление метода

Если посмотреть на закладку ClassView, то в рабочем пространстве можно заметить дерево объектов, включающих класс компонента (узел CFirst_ATL с подузлами IFirst_ATL, реализация методов

Комментарии к записи Простой проект ATL COM отключены

Filed under Программирование

Программирование COM сервере. Первая программа ATL COM – Hello World

Программирование COM сервере. Первая программа ATL COM – Hello World

Введение

Цель лабораторной работы состоит в том, чтобы дать основы создания COM сервер, используя библиотеку шаблонных классов, и затем вызвать сервер из программы на Visual C++. Программа разработана для показа создания объектов COM на базе библиотеки шаблонных классов.

Шаг 1: Создание COM сервера

  1. Выбрать ATL COM AppWizard и набрать имя проекта в Project. В данном случае оно будет HelloWorld
  2. Затем выбрать тип сервер в виде библиотеки динамической компоновки и нажать Finish.
  3. Нажать OK для генерауции файлов в Class Wizard.
  4. Перейти в ClassView, правый щелчок по HelloWorld classes и выбрать New ATL object.
  5. Затем выбрать Simple object.
  6. Набрать короткое имя компонента, в данном случае CGreet, мастер автоматически заполнит другие имена.
  7. Перейти к просмотру классов снова
  8. Правый щелчок по значку ICGreet и выбрать Add Method
  9. Набрать имя функции, как SayHello, и заполнить параметры, как [in] BSTR name, [out,retval] BSTR *retstr
  10. Перейти к FileView и набрать код ниже в CGreet.cpp. Построить проект, и сервер готов

 

// CCGreet

STDMETHODIMP CCGreet::SayHello(BSTR name, BSTR *retstr)

{

char str[20] ;

sprintf(str,”hello “);

// Copy the value of hello into the string variable

// Create a new variable called temp initialized

// with the value of str

CComBSTR temp(str);

 

// Append the input parameter value to the temp variable

temp += name ;

 

// Send the value back to the calling function

*retstr = temp.Detach();

 

return S_OK;

}

 

Шаг 2: Создание клиента COM

Теперь будет создан клиент COM для сервера COM в виде DLL. Им будет приложение на базе диалога MFC, с текстовым полем и двумя кнопками.

  1. Выбрать NewMFC AppWizard из меню Project и набрать имя проекта HelloWorldClient.
  2. Выбрать тип приложения Dialog based и нажать Finish
  3. Перейти к закладке ResourceView. Добавить блок редактирования на диалог.
  4. Срздать переменную типа CString (value), связанную с ним, назвав ее m_edit – нажать CTRL + W для перехода в ClassWizard. Выбрать закладку Member Variables, выбрать IDC_EDIT1 и нажать Add Variable, набрав указанное имя.
  5. Будет создан файл HelloWorldClientDlg.cpp.
  6. Двойной щелчок по кнопке OK на диалоге, появится панель запроса имени функции, выбрать имя по умолчанию OnOK для перехода в файл HelloWorldClientDlg.

Комментарии к записи Программирование COM сервере. Первая программа ATL COM – Hello World отключены

Filed under Программирование

Использование ATL в среде Visual C++

Использование ATL в среде Visual C++

Использование ATL

Цель лабораторной работы состоит в том, чтобы дать основы создания COM сервер, используя библиотеку шаблонных классов, и затем вызвать сервер из программы на Visual C++. Программа разработана для показа создания объектов COM на базе библиотеки шаблонных классов.

Процесс создания компонент на ATL состоит из трех шагов:

  1. Создание модуля
  2. Добавления компонент в модуль
  3. Добавления методов в компонент

Будет создан модуль (в виде DLL) по имени AtlServer. Затем будет создан компонент по имени MyMath в этом модуле. Затем будут добавлены два метода MyAdd() и MySubtract(). Первый метод складывает два целых числа, переданных клиентом, возвращая результат в виде их суммы. Второй метод аналогично проводит операцию вычитания.

Шаг 1: Создание модуля

Для создания модуля воспользоваться мастером ATL COM AppWizard. Выполнить следующие шаги:

  1. Выбрать New из меню File. На появившемся диалоге выбрать тип проекта ATL COM AppWizard. Набрать AtlServer, как имя проекта и нажать OK для продолжения.

  1. Выбрать тип модуля, как Dynamic Link Library и нажать Finish.

  1. Появится диалог New Project Information, который покажет созданные файлы проекта. Нажать OK.

Если построить проект, используя F7, то будет построен файл AtlServer.dll без какой-либо функциональности, так как к нему не добавлены были компоненты. Следующий шаг выполнит создание компонентов.

Шаг 2: Добавление компонента в модуль

Для добавления компонента в модуль использовать ATL Object Wizard. Выполнить следующие действия для добавления компонента MyMath:

  1. Выбрать пункт меню Insert | New ATL Object... Это покажет диалог ATL Object Wizard.

  1. Выбрать Simple Object из различных категорий объектов и нажать Next.
  2. Появится диалог ATL Object Wizard Properties:

Панель свойств содержит две закладки: Names и Attributes. Закладка Names разделена на две секции. Первая дает C++ имена, а вторая COM имена.

  1. Ввести Short Name, как MyMath. Остальные поля будут заполнены автоматически.

Имена, указанные, как C++, дают имя

Комментарии к записи Использование ATL в среде Visual C++ отключены

Filed under Программирование

Создание первого приложения на Visual C++. Лабораторная работа №1

Создание первого приложения на Visual C++. Лабораторная работа №1

Для начала следует изучить среду разработки Visual C++ и средства создания приложений. Так как Visual C++ имеет большее число таких средств, чем необходимо для разработки одного приложения, то ограничимся базовыми средствами, которые будут встречаться во всех упражнениях. Поэтому для каждого приложения, разрабатываемого на Visual C++, следует знать:

  • базовые области среды разработки Visual C++
  • мастер приложений, строящий основную инфраструктуру приложения
  • панель диалога – дизайнер, используемую для разработки окон диалога, так же, как в Visual Basic, PowerBuilder или Delphi
  • мастер классов, задающий функциональность окнам приложения

Среда разработки Visual C++

Для быстрого просмотра среды разработки нужно запустить Visual C++, чтобы сразу увидеть устройство каждой области и возможности изменения и модификации их самостоятельно.

После запуска студии разработчика (среды визуальной разработки Microsoft), будет видно окно, показанное на рисунке 1.1. Каждая область имеет свое специфическое назначение. Можно переустановить эти области для настройки среды студии наиболее подходяще для потребностей отдельной разработки.

 

Рис. 1.1. Исходный экран Visual C++.

Рабочее пространство

При первом запуске Visual C++ левая область студии разработчика выглядит очень содержательной, но мало понятной. Это область известна как рабочее пространство, и она является ключом доступа к различным элементам и частям проектов. Рабочее пространство позволяет видеть все компоненты приложения тремя различными способами:

  • Class View позволяет манипулировать исходным кодом на уровне классов C++.
  • Resource View позволяет найти и редактировать каждый из различных ресурсов приложения, включая внешний вид окон диалога, значков и меню.
  • File View позволяет манипулировать всеми файлами приложения.

Панель вывода

Панель вывода может быть невидима при первом запуске Visual C++. После первой компиляции приложения она появится внизу среды студии разработчика и по желанию может быть оставлена открытой или закрытой. Панель вывода студии разработчика содержит всю необходимую информацию о процессе компиляции операторов, предупреждения и сообщения об ошибках; там же отладчик Visual C++ показывает все переменные с их текущими значениями при движении по коду. После закрытия этой панели она вновь открывается при выводе сообщений Visual C++.

Область редактирования

Область справа среды студии разработчик называется областью редактирования. Эта область любого редактирования при работе с Visual C++: исходного кода на C++, дизайна панели диалога, значков и так далее. Область редактирования также находится там, где выполняется разработка значков для использования их в приложениях. Область редактирования

Комментарии к записи Создание первого приложения на Visual C++. Лабораторная работа №1 отключены

Filed under Программирование

Добавление ActiveX в приложение ATL. Лабораторная работа № 9

Добавление ActiveX в приложение ATL. Лабораторная работа № 9

Современный рынок систем разработки приложение содержит тысячи встроенных компонент, которые можно включить в приложения, расширяя их функциональность. Кроме программ на Visual Basic теперь можно использовать доступные управления ActiveX в Visual C++. Сейчас будет изучено, как добавить управления ActiveX в Visual C++ приложения, повысив их существующую функциональность. Будут раскрыты следующие вопросы:

  • Что представляют собой управления ActiveX, и как они работают.
  • Как добавить управления ActiveX в проект рабочего пространства.
  • Как использовать управления ActiveX в Visual C++ приложении.
  • Как вызывать различные методы для управлений ActiveX.
  • Как управление событиями включается в управление ActiveX.

Чем является управление ActiveX?

Управления ActiveX представляют собой компоненты программного обеспечения, которые можно включить в различные программы, используя их, как исходный код программы.

ActiveX используется для вызова OLE 2.0, являющейся технологией Microsoft соединения двух или более приложений для их совместной работы (или, по крайней мере, для переключения между различными приложениями с общей оболочкой). Это идея является расширением исходной технологии OLE (Связывание и Внедрение Объектов), которая разрешает соединять документы, созданные разными приложениями в один документ. При обновлении технологии OLE для работы в распределенной среде (типа Internet) Microsoft решила также обновить имя. Так, появился ActiveX.

ActiveX и интерфейс IDispatch

Технология ActiveX надстроена на технологии Microsoft COM (Модель Компонентов Объектов), используя ее интерфейс и модель взаимодействия для незаметной интеграции управления ActiveX. COM технология определяет, как создаются объекты ActiveX и как разрабатываются их интерфейсы. Технология ActiveX определяет слой, надстроенный над COM, для необходимой поддержки интерфейсов различных объектов и их взаимодействия.

Примечание: Технология Microsoft COM определяет, как приложения и его компоненты будут взаимодействовать своими интерфейсами. Интерфейс аналогичен функции вызова компонента ActiveX. Однако COM указывает, как эта функция вызова должна быть построена и вызвана, и какая поддерживающая функциональность должна сопровождать функцию вызова. Такие интерфейсы, типа Iunknown, нужны в каждом COM объекте и используют запрос компонента для поиска других интерфейсов, поддерживаемых этим компонентом. Каждый интерфейс поддерживает специфический набор функциональности: один интерфейс управляет внешним видом управления, другой управляет взаимодействием внешнего вида с окружающим приложением, третий переключают события в окружающем приложении и так далее.

Одной из ключевых технологий управления ActiveX является автоматизация. Автоматизация позволяет приложению, внедренному в другое

Комментарии к записи Добавление ActiveX в приложение ATL. Лабораторная работа № 9 отключены

Filed under Программирование

Создание однодокументного приложения ATL. Лабораторная работа № 10

Здесь будет изучен другой способ разработки приложений в Visual C++ в отличие применяемых ранее. Будет создано приложение с одно-документным интерфейсом (SDI). SDI приложение – это документно-ориентированное приложение, обрабатывающее только один документ одного типа.

Примерами SDI приложений являются Notepad, WordPad и Paint. Все эти приложения могут выполнять только один вид работ и только одну задачу. WordPad можно рассматривать, как SDI версию Word. Она способна совершать много действий Word, но, если Word позволяет работать с различными документами одновременно, то WordPad ограничивается только одним документом.

Изучаемыми вопросами будут:

  • Архитектура Документ/Вид в Visual C++, используемая при создании SDI приложений.
  • Создание оболочки SDI приложения.
  • Отделение данных от их визуального представления.
  • Инкапсуляция данных в собственный C++ класс.
  • Создание взаимодействия между данными и меню.

Архитектура документ/вид

При создании SDI приложении возникает больше классов, чем для приложений типа диалог. Каждый из этих классов имеет специальное назначение для действий SDI приложений. Кроме класса диалога About имеется четыре класса для SDI приложения:

  • Класс из CWinApp
  • Класс из CFrameView
  • Класс из CDocument
  • Класс из CView

Класс CWinApp создает все другие компоненты в приложении. Он получает все сообщения о событиях и затем передает их классам CFrameView и CView .

Класс CFrameView является рамкой окна. Она содержит меню, стойку инструментов, горизонтали и вертикали сдвига и некоторые другие видимые объекты, связанные с рамкой. Этот класс определяет видимую часть документа. Очень мало (если никаких) потребуется усилий при программировании SDI приложений для изменений или дополнений в каждом из этих двух классов.

Класс CDocument относится к самому документу. В этом классе будут строиться структуры данных, необходимые для размещения и изменения данных документа. Этот класс получает входные данные от класса CView и передает полученную информацию в класс CView. Этот класс также ответственен за сохранение и извлечение данных документа из файла.

Класс CView показывает визуальное представление документа для пользователя. Этот класс передает входную информацию классу CDocument и получает отображаемую информацию из класса CDocument. Большая часть создаваемого кода будет заключаться в изображении документа для пользователя и управления вводом пользователя. Класс CView имеет несколько классов-наследников, которые можно использовать, как предки классов отображения. Эти классы-наследники приведены в Таблице 10.1.

ТАБЛИЦА 10.1. КЛАССЫ-ПОТОМКИ CView.

Класс

Описание

CEditView Обеспечивает

Комментарии к записи Создание однодокументного приложения ATL. Лабораторная работа № 10 отключены

Filed under Программирование

Создание собственных классов и модулей ATL. Лабораторная работа № 16

Создание собственных классов и модулей ATL. Лабораторная работа № 16

Иногда для построения ряда приложений нужна функциональность, используемая в приложении, разработанным другим программистом. Может быть эта функциональность будет использоваться в нескольких приложениях. Другой возможность может быть желание оcобой функциональности в приложении для организационных целей. Возможно эта функциональность разрабатывается для копирования кода, включаемого в приложение коллег, причем при выполнении некоторых изменений в функциональности она может быть внедрена в другое приложение. Было бы более более практично, если передавать компилированную версию функциональности другому программисту, так что каждый раз обновленная часть представляла новый компилированный файл. Он мог бы заменить предыдущую версию без изменений в коде другого программиста.

Оказывается возможным поместить собственную функциональность в отдельный компилированный файл, связывая его с приложением другого программиста и избегая добавления некоторых новых файлов для завершения приложения. Сейчас будет изучено:

  • Как разработать собственные классы.
  • Как создать компилированные модули, связываемые с другими приложениями.
  • Как включать эти модули в приложение.

Разработка классов

Ранее уже разрабатывались и строились собственные классы, то есть создание нового класса не является новым вопросом. Зачем создавались эти классы? Каждый из новых классов инкапсулировал набор функциональности, действующей, как самостоятельный модуль. Эти модули состояли из данных и функциональности, совместно определяющих объект.

Инкапсуляция

Объектно-ориентированная разработка программного обеспечения представляет практику разработки программного обеспечения согласно всем видам разработок. Например, можно рассматривать автомобиль, как совокупность объектов: двигатель, корпус, тормозная система и так далее. Каждый из этих объектов состоит из многих других объектов. Например, двигатель содержит карбюратор или инжектор топлива, камеру сгорания и поршни, стартер и так далее. И снова каждый из этих объектов состоит из других объектов.

Каждый объект имеет функции для выполнения. Каждый объекты знает, как выполнять собственные функции cо знанием, как другие объекты выполняют свои функции. Каждый объекты знает, как взамодействовать c другими объектами и как они соединены между собой, но это все, что известно о других объектах. Каждый объект работает внутренне скрыто от других объектов.

Нужно также подходить к разработке новых классов для приложения. Объектам приложения не нужно знать, как работает каждый объект; им только нужно знать, как взаимодействовать между собой. Этот принцип, названный инкапсуляция, является одним из основных принципов

Комментарии к записи Создание собственных классов и модулей ATL. Лабораторная работа № 16 отключены

Filed under Программирование

Разделение функциональности c другим приложением – Создание DLL. Лабораторная работа № 17

Разделение функциональности c другим приложением – Создание DLL. Лабораторная работа № 17

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

Часто семейство приложений имеет некоторую общую функциональность. Если поместить эту распределенную функциональность в DLL вместо модулей библиотек, то все приложения могут ее использовать путем копирования DLL, а не дублированием модулей в каждом приложении, что сохраняет дисковое пространство.

Сейчас, будет изучено:

  • Разные типы DLL, которые можно создать в Visual C++ и какое определение типа чему соответствует.
  • Как построить оба типа DLL и разные подходы для различных типов DLL.
  • Как использовать функциональность обоих типов DLL в Visual C++ приложении.
  • Как определить, когда приложение нуждается в перелинковке при изменениях в DLL, используемых в приложении.

Зачем создавать DLL?

Динамический связывание библиотек (DLL) было введено Microsoft в начале Windows. DLL подобны модулям библиотеки по содержанию функциональности, упакованной для использования в приложениях. Разница заключается в связывании приложения с библиотекой. C модулем библиотеки (LIB) приложение связывается во время компиляции и настройки процесса. Функциональность библиотечного файла становится частью исполнимого файла приложения. C DLL приложение связывается после запуска приложения. Библиотечный файл остается отдельным файлом, вызываемым приложением.

Имеются некоторые причины для создание DLL вместо модулей библиотечных файлов. Первая, уменьшение размера исполнимых файлов приложений помещением функциональности, используемой многими приложениями в DLL, которые распределены для всех приложений. Можно обновлять и изменять функциональность в DLL без обновления исполнимого приложения (приняв, что экпортируемый интерфейс для DLL не изменен). Наконец, можно использовать DLL на другом языке программирования Windows, что делает эту функциональность, доступной широкому кругу программистов, не только любителей Visual C++.

Создание и использование DLL

DLL являются файлами библиотек c компилированным кодом, который можно использовать другими приложениями. DLL передает функции и классы в приложения экспортом функций. Когда функция экспортируется, то она добавляется к таблице, включенной в DLL. Это таблица содержит адреса всех экспортируемых функций, содержащихся в DLL, и это используется для определения и вызова каждой функции. Некоторые функции не экспортируются и не добавляются в эту таблицу. Они не могут быть видимы или вызваны вне приложения или DLL.

Приложение может вызвать функции в DLL двумя способами. Чаще встречается метод вызова этих функций через определение

Комментарии к записи Разделение функциональности c другим приложением – Создание DLL. Лабораторная работа № 17 отключены

Filed under Программирование

Построение собственного Widgets–Создание управления ActiveX. Лабораторная работа № 19

Индустрия программного обеспечения совершила революцию за последние годы. Программное обеспечение перешло от модели больших приложений из монолитных элементов исполнимого кода к модели приложений, состоящих небольших строительных блоков. Эти блоки, часто называемые компонентами, могут быть созданы любыми языками и могут иметь разные формы. Одной из популярных компонент является управление ActiveX. Если уметь создавать собственное управление ActiveX, то можно построить собственные компоненты и обеспечить ими других программистов. Сейчас будет изучено:

  • Как использовать Мастера Visual C++ для построения управления ActiveX.
  • Как добавить Мастером классов свойства и методы к управленим.
  • Как протестировать управление средствами Visual C++.

Что представляет собой управление ActiveX?

Управление ActiveX представляет набор функциональности, упакованную в объект COM (Модель Компонента Объекта). Этот COM объект содержится в самом себе, хотя и не имеет возможности для самозапуска. Управление ActiveX можно запустить только черех контейнер ActiveX, типа приложения Visual C++ или Visual Basic.

Как было изучено в работе 9, “Добавление управления ActiveX в приложение”, управления ActiveX обеспечивают наборы интерфейсов, используемых контейнером приложения для включения различных наборов функциональностей, содержащихся в управлении. Многие из этих интерфейсов используются для включения событий управления или приложения. Другие для указания свойств управлений или для коммуникаций при активации управления. Так как достаточно много интерфейсов построено в управлении ActiveX, то кодирование функциональности каждого из этих интерфейсов займет достаточно много времени. К счастью, Visual C++ и Мастер Классов добавляет самостоятельно большую часть этой функциональности, позволяя сконцентрировать внимание на собственную функциональность.

Среди аспектов создаваемого управления нужно спланировать какие свойства, методы и события будет представлять само управление. Можно добавить эти элементы к управлению Мастером Классов, но, если некоторые из свойств или событий требуют специального кода, то его следует добавить самостоятельно. Как можно ожидать, некоторые методы, добавленных к управлению, требуют полного описания кода. Мастер Классов добавит окружающую структуру и код для обеспечения приложению-контейнеру увидеть и вызвать этот метод, в котором добавлен весь код, необходимый для вызова управления событием в приложении.

Свойства

Свойства являются атрибутами управления, видимыми и часто изменяемыми приложением-контейнером. Четырьмя основными типами свойств являются окружение, расширение, средства и внутренность. Свойства окружения задаются управлению приложением-контейнером, типа цвета фона или используемым

Комментарии к записи Построение собственного Widgets–Создание управления ActiveX. Лабораторная работа № 19 отключены

Filed under Программирование

Обзор C++. Приложение А

Разработанные приложения обеспечат быстрый обзор основ языка программирования C++. После прочтения этого приложения будет достигнуто полное понимание синтаксиса и различных аспектов C++.

Создание первого приложения

Первый пример – это простая программа, выводящая “Hello World” на экран. Для этого создается рабочее пространство и C++ файл. Процедура записи C++ программы в Visual C++ проста и легка. Следуем шагам ниже:

  1. Из главного меню выбрать Visual C++.
  2. Выбрать File | New из стойки инструментов Visual C++.
  3. Убедиться, что выбрана закладка Projects (см Рисунок.1).
  4. Выбрать Win32 Console Application из вариантов слева.

Рисунок.1. Установка рабочего пространства Hello .

  1. Набрать Hello на правой стороне под Project Name.
  2. Выбрать OK.

Visual C++ создаст рабочее пространство приложения и каталог Hello для хранения всех файлов проекта в одном месте. Начнем добавление файлов, нужных для этого проекта:

  1. Снова выбрать File | New из стойки инструментов.
  2. Выбрать закладку Files, если она уже не выбрана.
  3. Выделить C++ Source File.
  4. Отметить блок Add to Project на правой стороне.
  5. В блоке редактирования File Name набрать Helloworld (см. Рисунок.2).
  6. Нажать OK.

Файл Helloworld.cpp будет содержать C++ исходный код. Все файлы C++ исходного кода имеют .cpp расширение. Позже будут указаны другие типы файлов.

Все учебные примеры будут создаваться в этой секции аналогично с единственной разницей в именах рабочего пространства и файлов.

Рисунок.2. Установка проекта Helloworld.

Helloworld.cpp

Программа Helloworld показывает HELLO WORLD на экране. Listing.1 содержит ее код. Набрать этот код точно, как показано на окне Helloworld.cpp. Но не набирать номера строк; они только для справки. C++ различает строчные и заглавные буквы, поэтому main не то же, что MAIN или Main.

LISTING.1. Helloworld.cpp.

1: // Workspace Name:   Hello

2: // Program Name:  Helloworld.cpp

3:

4: # include <iostream.h>

5:

6: int main()

7:

8: {

9: cout<< “HELLO WORLD n”;

10: return 0;

11: }

Для запуска программы:

  1. Выбрать File | Save для сохранения работы.
  2. Выбрать Build | Set Active Configuration (см. Рисунок.3).
  3. Выделить Hello – Win32 Debug и нажать OK (см. Рисунок.4).
  4. Выбрать Build | Build Hello.exe.

Visual C++ скомпилирует и свяжет программу для создания исполнимого файла. Окно конфигурации указывает успех или неудачу компиляция. Успешная компиляция вернет сообщение

Hello.exe – 0 error(s), 0 warning(s)

Если будут ошибки, то следует проверить, все ли строки программы были набраны, как показано.

Для выполнения программы Helloworld выбрать Build | Execute Hello.exe.

Программа выполняется открытием оболочки MS-DOS и выводом текста HELLO WORLD (см. Рисунок.5).

Рисунок.3. Установка активной конфигурации.

Рисунок.4. Выбор Win32 Debug.

Рисунок.5.

Комментарии к записи Обзор C++. Приложение А отключены

Filed under Программирование

Создание проекта ATL с учетом событий

Создание проекта ATL с учетом событий

  1. Открыть Visual Studio 6.0 и выбрать пункт меню File|NEW для вывода панели диалога.
  1. Выбрать ATL COM AppWizard и задать поле Project Name SimpleAtlCom и нажать OK, чтобы принять установки проекта, на следующем шаге будет показана панель диалога
  1. Нажать Finish, чтобы принять установки проекта, эти два шага создадут пустой COM DLL проект.
  2. Затем выбрать в меню Insert пункт New ATL Object…, добавить объект  ATL к проекту

  1. Выбрать Simple Object и нажать Next, тогда появится панель свойств объекта.

  1. На закладке Names дать короткое имя, как SimpleObj, остальные поля на этой панели диалога установятся автоматически (но их можно поменять по желанию).

 

  1. На закладке Attributes
  • Для потоковой модели (Threading Model) выбрать установку по умолчанию Apartment, поскольку большинство приложений, использующих компоненты согласуется с этой моделью.
  • Затем для интерфейса (Interface) снова выбрать установку по умолчанию на Dual (этот интерфейс можно использовать в скриптовых языках)
  • Оставить установки по умолчанию и для Aggregation и Free Threaded Marshaler, поскольку они предназначены для более продвинутого использования
  • Поддержка ISupportErrorInfo предоставляет объемную текстовую информацию приложению клиента, которое будет использовать разрабатываемый интерфейс. Пока в этом нет необходимости, и нужно оставить этот блок контроля неотмеченным.
  • Последний блок контроля обеспечивает поддержку событий компонента через интерфейс IConnectionPoint, поэтому отметь этот блок контроля и нажать OK, чтобы добавить объект к проекту.
  1. В результате в проекте возникнет IDL файл (simpleAtlCom.idl), приведенный ниже.

 

import “oaidl.idl”;

import “ocidl.idl”;

     [

         object,

         uuid(2EBAAFF2-2C95-48B0-B7AB-4F29731699D4),

         dual,

         helpstring(«ISimpleObj Interface»),

         pointer_default(unique)

     ]

     interface ISimpleObj : IDispatch

     {

     };

 

[

     uuid(9355E51A-D0A3-46FE-A1DD-546BFD9D8128),

     version(1.0),

     helpstring(«SimpleAtlCom 1.0 Type Library»)

]

library SIMPLEATLCOMLib

{

     importlib(“stdole32.tlb”);

     importlib(“stdole2.tlb”);

 

     [

         uuid(E5D5A4E6-9F14-42AA-8018-D02CF6331C5E),

Комментарии к записи Создание проекта ATL с учетом событий отключены

Filed under Программирование