Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
89
Добавлен:
20.06.2014
Размер:
155.65 Кб
Скачать

6.Модуль и его структура. Основные типы модулей в инструментальной системе Delphi.

Это спец образом оформленная библиотека определителей типов, констант, переменных, процедур, функций – статическая библиотека языка. Часть модулей стандартно определена и поставляется с компилятором. Модуль в отличие от программы не может быть запущен на выполнение самостоятельно, он может только участвовать в построении программы или другого модуля. Модуль предварительно должен быть откомпилирован, независимо от использующей его программы, результат компиляции .dcu (.tpu, .obj – общее системное расширение). Для подключения модуля к программе или к другому модулю достаточно указать его модуль в директиве uses: uses_modul; При подключении модулей порядок играет роль, если между модулями есть непосредственные конкретные связи. Все системные библиотеки Turbo Pascalя реализованы в виде модулей UNIT. Для их использования указывают под директивой uses имена используемых модулей: USES CRT,PRINTER,U1. далее используем содержимое подключаемых модулей, как будто оно предопределено в языке. Модули удобны в 2х случаях:

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

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

Не модуль не программа не могут произвести исполняемый код больше 64 кБ, если к ним не подключены другие модули, но сумма модулей составляющих программу ограничена объёмом ОП

Модуль разделён структурно на 4 части:

  • заголовок –unit- модуля вводит имя, по которому модуль будет подключен к другим программам, имя должно быть уникальным, но должно совпадать с именем файла, содержащего этот модуль, после компиляции мы подключаем файл с тем же именем и .tpu

  • раздел описания interface (объявлений) – содержит описание типов, констант и переменных, которые будут переноситься в программу (доступны вызывающей программе) при подключении модуля описывающего заголовки процедур и функций составляющих эту библиотеку. Раздел работает на этапе компиляции. Компилятору достаточно иметь заголовок процедуры и функции. Недопустимы заголовки с директивой forward.

  • раздел implementation реализации. Состоит из тел процедур и функций, объявленных в разделе interface. Введены свои константы, типы, переменные, которые являются глобальными по отношению ко всем подпрограммам этой библиотеки, но они недоступны вызывающей модуль программе. (Они доступны операторам раздела инициализации). Программе, подключающей модуль эти объявления недостаточны

  • инициализация Работает до всех исполняемых операторов вызывающей программы Программируются действия которые будут произведены перед выполнением любой подпрограммы (пр: открытие файла? Запись в который пойдет из модуля)(определение нач параметров)

  • финализация begin..end идут операторы завершающие выполнение любой подпрограммы. После всех операторов освобождение ресурсов программы.

Основные типы модулей и инструментов системы. Модуль в системе Delphi – файл с расширением .pas

Самый распространенный тип модулей – Form и связанное с ним окно (*.dfm – описание формы, *.pas – описание кода). Unit.pas. Большинство типовых модулей в репозитории Delphi содержит заготовки для создания диалоговых окон. Помимо форм в репозитории содержатся не связанные с видимыми окнами модули. К ним относятся: Модули общего назначения (статическая библиотека Unit оторванный от формы), модули данных, модули динамических библиотек (предназначена для создания *.dll), модули потоков.

Модули общего назначения – Object Pascal – статическая библиотека.

Модули данных – необходимость доступа к БД Data Aсcess – эти модули (компоненты) вставляются на форму но они не видимы в процессе работы программы.

Модули библиотек – предназначены для создания широко используемых в Windows динамически связанных библиотек dll – универсальное средство согласования программ, написанных на разных языках. В Delphi эти модули предназначены для разработки DLL на языке Object Pascal.

Модули потоков (команд) – предназначены для реализации т.н. потоков команд – фрагменты программы, кот исполняются параллельно с другими фрагментами разделяя с ними время процессора и остальные системные ресурсы.