Модули в Дельфи | Delphi-FAQ

Модули в Дельфи

Рубрика: Delphi с нуля

Кроме программ, структуру которых мы только что рассмотрели, средства языка позволяют создавать модули. В отличие от программы, модуль не может быть автономно запущен на выполнение и содержит элементы, например, переменные и подпрограммы, которые допускается использовать в программе или в других модулях. Для того чтобы можно было использовать средства модуля, его необходимо подключить, указав имя этого модуля в разделе uses. Типичными примерами модулей являются System и SysUtils, содержащие большое количество стандартных подпрограмм. Напомним, что для каждой формы приложения создается отдельный модуль.

Компилятор распознает модуль по его заголовку и создает в результате своей работы не исполняемый файл (ехе), как это было для приложения, а файл модуля с расширением dcu.

Модуль состоит из заголовка, в котором после ключевого слова unit указывается имя модуля, и четырех разделов: интерфейса (interface), реализации (implementation), инициализации (initialization) И деинициализации (Finalization).


Модуль имеет следующую структуру:

  1. Unit <Имя модуля>;
  2. // Раздел интерфейса Interface
  3. Uses <Список модулей>;
  4. Const <Список констант>;
  5. Туре <Описание типов>;
  6. Var <Объявление переменных>;
  7. <Заголовки процедур>;
  8. <Заголовки функций>;
  9. // Раздел реализации
  10. Implementation
  11. Uses <Список модулей>;
  12. Const <Список констант>;
  13. Туре <Описание типов>;
  14. Var <Объявление переменных>;
  15. <Описание процедур>;
  16. <Описание функций>;
  17. // Раздел инициализации
  18. Initialization
  19. <Инструкции>
  20. // Раздел деинициализации
  21. Finalization
  22. <Инструкции>
  23. end.

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

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

В разделе инициализации располагаются инструкции, выполняемые в начале работы программы, которая подключает данный модуль. Разделы инициализации модулей выполняются в том порядке, в котором они перечислены в списке раздела uses программы. Раздел инициализации начинается словом Initialization и является необязательным.

При наличии раздела инициализации в модуле можно использовать раздел деинициализации, который начинается словом Finalization и является необязательным. В этом разделе располагаются инструкции, выполняемые при завершении программы. Разделы деинициализации модулей выполняются в порядке, обратном порядку их перечисления в списке uses программы.

Если Вам интересна эта запись, Вы можете следить за ее обсуждением, подписавшись на RSS 2.0 .

Оставить комментарий или два

*