Uses CRT, My_modul;

 

Взаимное использование модулей

Модули могут обращаться друг к другу косвенно или рекурсивно.

При косвенном использовании модулей один из них использует другой:

Unit A; Unit B;

Interface Interface

Uses B; .....

End.

End.

Пусть в головной программе используется только модуль A:

Uses CRT, A;

В этом случае нет необходимости указывать и модуль B:

Uses CRT, A, B;

При рекурсивном использовании модулей они взаимно обращаются друг к другу:

Unit A; Unit B;

Interface Interface

Uses B; Uses A;

....... .......

End. End.

 

Если какой-нибудь из них подключить к программе:

Uses CRT, A;

то будет зафиксирована ошибка:

Error 68: Circular Unit Reference (A)

Взаимное использование возможно, если модули подключить из раздела реализации:

Unit A; Unit B;

Interface Interface

....... .......

Implementation Implementation

Uses B; Uses A;

....... .......

End. End.

 

Особенности выполнения инициирующих разделов

Если в модуле имеется инициирующий раздел, то его операторы выполняются до операторов программы, к которой данный модуль подключен. Если несколько модулей с инициирующими разделами:

Unit A; Unit B;

Interface Interface

Const x = 1; Const x = 2; x - глобальная

Implementation Implementation переменная

End. End.

 

 

подключены к программе:

Program Primer;

Uses WinCRT, A, B;

Begin

ClrScr;

WriteLn('x=', x);

End.

то они выполняются в порядке подключения, и одноименной переменной будет присвоено последнее значение. На экран будет выведено:

x=2

Последним подключен модуль B, в котором глобальная x = 2.

Изменим порядок подключения:








Дата добавления: 2015-08-08; просмотров: 611;


Поиск по сайту:

При помощи поиска вы сможете найти нужную вам информацию.

Поделитесь с друзьями:

Если вам перенёс пользу информационный материал, или помог в учебе – поделитесь этим сайтом с друзьями и знакомыми.
helpiks.org - Хелпикс.Орг - 2014-2024 год. Материал сайта представляется для ознакомительного и учебного использования. | Поддержка
Генерация страницы за: 0.005 сек.