- •Изучение способов разработКи простейших com-объектов в среде delphi.
- •5.6 Методические указания.
- •5.6.1 Основные сведения о сом-объектах
- •5.6.2 Составляющие com-приложений
- •5.6.2.1 Способы взаимодействия com-клиентов с com-серверами
- •5.6.2.2 Регистрация com-сервера
- •5 .6.2.3 Библиотека com
- •1.6.2.4 Hresult.
- •5.6.2.5 Библиотека типов.
- •5.6.2.6 Общие сведения о com-клиентах
- •5.6.3 Объекты com в среде Delphi.
- •5.6.3.1 Средства реализации интерфейсов в среде Delphi.
- •5.6.3.2 Классы TcomObj, Coclass и tTypedComObject.
- •5.6.3.3 Пример простейшего приложения с применением интерфейсов.
- •ShowMessage(MyInterface.GetName);
- •5.6.4 Разработка структуры клиентского и серверного приложений.
- •5.6.5 Создание внутреннего сервера сом.
- •5.6.5.1 Создание динамической библиотеки.
- •5.6.5.2 Создание объекта сом.
- •5.6.5.3 Создание интерфейсов объекта сом.
- •5.6.5.4 Задание кода методов интерфейса.
- •5.6.6 Разработка клиентского приложения для внутреннего сервера
ЛАБОРАТОРНАЯ РАБОТА N 5-TKP.
Изучение способов разработКи простейших com-объектов в среде delphi.
5.1. ЦЕЛЬ РАБОТЫ.
Изучить способы создания простейших com-объектов в среде Delphi.
5.2. ЗАДАНИЕ НА ПОДГОТОВКУ К ЛАБОРАТОРНОЙ РАБОТЕ.
В процессе подготовки к лабораторной работе студент должен проработать теоретический материал по конспекту лекций и по методическим указаниям к данной лабораторной работе.
5.3. ПОРЯДОК ВЫПОЛНЕНИЯ РАБОТЫ.
Создать СОМ-сервер, содержащий функции, согласно заданному варианту (см. п. 5.6.4 на стр. 22);
Создать приложение-клиент, использующее функции разработанного СОМ-объекта (см. п. 5.6.5 на стр. 29);
Выполнить регистрацию сервера СОМ-объекта одним из возможных способов (см. п. 5.6.2.2 на стр. 10);
Распечатать исходный код приложений и библиотек и результаты их работы;
Оформить отчет;
Подготовиться к защите лабораторной работы по вопросам для самопроверки (см. п. 5.5.).
Отчет должен содержать:
Наименование и номер лабораторной работы;
Задание, содержащее перечень методов, реализуемых простым COM-объектом, согласно заданному варианту;
Распечатку (или рукопись) модуля COM-объекта, содержащего методы, согласно заданному варианту;
Распечатку (или рукопись) модуля вызывающей программы, использующей разработанный COM-объект;
Распечатку (или рукопись) библиотеки импорта COM-объекта;
Распечатку (или рукопись) результатов выполнения программы;
Выводы по результатам решения задачи, анализ ошибок, выявленных в ходе отладки программы.
5.4. ВАРИАНТЫ ЗАДАНИЙ И УСЛОВИЯ ЗАДАЧ.
Разработать в среде Delphi простой COM-объект в составе внутреннего сервера, реализующий набор методов, согласно заданному варианту. Разработать клиентское приложение, использующее методы созданного COM-объекта.
Варианты заданий приведены в таблице 5.1.
Варианты заданий. Таблица 5.1 |
|
N варианта |
Перечень методов разрабатываемого COM-объекта |
1 |
1) Преобразование всех букв символьной строки в строчные. 2) Преобразование всех первых букв слов, входящих в состав символьной строки, в прописные. 3) Преобразование всех букв символьной строки в прописные. |
2 |
1) Определение максимального числа из двух чисел. 2) Определение минимального числа из двух чисел. 3) Определение среднего числа из трех чисел (предполагается, что числа не равны). |
3 |
1) Преобразование символьной ASCIIZ-строки в ASCII-строкy. 2) Шифрование символьной строки методом ИСКЛЮЧАЮЩЕГО ИЛИ. 3) Преобразование символьной ASCII-строки в ASCIIZ-строкy. |
4 |
1) Определение количества положительных элементов вектора. 2) Определение количества элементов вектора, превышающее среднее значение элементов этого вектора. 3) Определение суммы элементов вектора. |
5 |
1) Определение среднего арифметического элементов вектора. 2) Определение среднего геометрического элементов вектора. 3) Определение суммы положительных элементов вектора |
6 |
1) Определение количества гласных букв в строке 2) Определение количества согласных букв в строке 3) Определение количества слов в строке |
7 |
1) Генерация случайного числа, находящегося в диапазоне [x, y]. 2) Вычисления выражения xy 3) Вычисления выражения x*y/(X+Y) |
8 |
1) Вычисления факториала N! 2) определение корней квадратного уравнения с коэффициентами a, b и c. 3) Перевода градусов в радианы |
9 |
1) Определение максимального элемента вектора. 2) Определение минимального элемента вектора. 3) Определение среднего значения элементов вектора. |
10 |
1) Вычисления количества размещений из k элементов по r: k!/(k-r)! (k r) 2) Вычисления гиперболического синуса sh(x) = (ex-e-x)/2 3) Сумму внутренних углов n-угольника S = 180 * (n-2) |
11 |
1) Вычисления полупериметра треугольника p со сторонами a, b и c. 2) Площади треугольника по его сторонам: S = (p*(p-a)*(p-b)*(p-c))1/2 3) Вычисление длину окружности радиусом R. |
12 |
1) Вычисления гиперболического косинуса ch(x) = (ex+e-x)/2 2) Расстояние между двумя точками с координатами (x1, y1) и (x2, y2) 3) Определение наибольшей из сторон треугольника со сторонами a, b и c. |
13 |
1) Определение минимального положительного элемента матрицы. 2) Определение максимального отрицательного элемента матрицы. 3) Определение среднего значения положительных элементов матрицы. |
14 |
1) Определение среднего арифметического отрицательных элементов вектора. 2) Определение среднего геометрического положительных элементов вектора. 3) Определение суммы отрицательных элементов вектора |
15 |
1) Вычисления количества сочетаний из k элементов по r: k!/r!/(k-r)! (k r) 2) Генерация случайного числа, находящегося в диапазоне [-x, x]. 3) Перевода радианов в градусы |
16 |
1) Вычисления гиперболического тангенса th(x) = (ex-e-x)/(ex+e-x) 2) Вычисления выражения 2N, где N – целое число. 3) Определение наибольшей из сторон треугольника, координаты вершин (x1, y1), (x2, y2) и (x3, y3) |
17 |
1) Вычисления выражения x*y/(X+Y)/(X-Y) 2) Вычисления значения tg(x) 3) Определение количества положительных элементов вектора |
18 |
1) Определение минимального элемента матрицы. 2) Определение максимального элемента матрицы. 3) Определение среднего значения элементов матрицы. |
19 |
1) Преобразование всех букв символьной строки в прописные. 2) Преобразование всех первых букв слов, входящих в состав символьной строки, в строчные. 3) Преобразование всех вторых букв слов в символьной строке в прописные. |
20 |
1) Определение минимального среднего значения столбцов матрицы. 2) Определение максимального среднего значения строк матрицы. 3) Определение среднего значения отрицательных элементов матрицы. |
21 |
1) Расстояние между двумя точками с координатами (x1, y1, z1) и (x2, y2, z2) 2) Определение минимального числа из трех чисел. 3) Генерация случайного числа, находящегося в диапазоне [-x, 2*x]. |
22 |
1) Периметра треугольника с заданными координатами вершин (x1, y1), (x2, y2) и (x3, y3) 2) Перевода радианов в градусы 3) Сумму внутренних углов n-угольника S = 180 * (n-2) |
23 |
1) Определение минимального положительного элемента вектора. 2) Определение максимального отрицательного элемента вектора. 3) Определение среднего значения положительных элементов вектора |
24 |
1) Вычисления гиперболического котангенса cth(x) = (ex+e-x) / (ex-e-x) 2) Генерация случайного числа, находящегося в диапазоне [-x, 0]. 3) Определение максимального числа из трех чисел. |
25 |
1) Определение количества положительных элементов матрицы. 2) Определение количества элементов матрицы, не превышающее среднее значение элементов этой матрицы. 3) Определение суммы элементов матрицы. |
5.5. ВОПРОСЫ ДЛЯ САМОПРОВЕРКИ.
Чем отличаются СОМ-объекты от обычных объектов?
Что такое интерфейс СОМ-объекта, его назначение?
Что такое сервер СОМ-объекта, его назначение?
Что такое «фундаментальный интерфейс»?
Что такое «неизменность интерфейса»?
Основные составляющие СОМ-приложений.
Что такое СОМ-клиент?
Что такое СОМ-сервер?
Типы СОМ-серверов.
Способы регистрации СОМ-серверов и ее назначение.
Назначение библиотеки СОМ. Механизм создания первого экземпляра объекта с помощью библиотеки СОМ и системного реестра.
Что такое «фабрика класса»?
Что такое HRESULT?
Что такое библиотека типов.
Процессы маршалинга и демаршалинга.
