Локальный модуль - Большая Энциклопедия Нефти и Газа, статья, страница 1
Мудрость не всегда приходит с возрастом. Бывает, что возраст приходит один. Законы Мерфи (еще...)

Локальный модуль

Cтраница 1


Локальные модули - это модули, погруженные внутрь других модулей. О них идет речь в гл. Глобальные модули состоят из двух частей: модуля определений, перечисляющего доступные извне средства, и модуля реализации. Модули определений рассматриваются в гл.  [1]

Локальный модуль - это модуль, вложенный внутрь другого. Иногда локальный модуль вложен внутрь процедуры. Использование локальных модулей позволяет улучшить организацию программы. Они также используются для защиты критических секций ( разд. Размещение нескольких связных процедур я структур данных в локальном модуле объединяет их и изолирует от внешнего модуля.  [2]

Локальный модуль создает новую среду, изолированную от внешней среды. Как и в любом модуле, внешние объекты недоступны внутри модуля, если только они не импортированы в этот локальный модуль. Аналогично, внутренние объекты локального модуля недоступны извне, если только они не экспортированы из этого локального модуля.  [3]

Локальные модули очень часто используют для создания новой, вложенной, изолированной от внешнего окружения среды.  [4]

Локальный модуль Спрячь в этом примере использует некваянфицнруемый экспорт для процедур Инициализация и [ ЬмажиПереи. Эти две процедуры могут использоваться во внешнем модуле с помощью простого упоминания их имен. Когда в локальном модуле используется квалифицируемый экспорт, то для ссылки на такие экспортируемые объекты употребляют квалифицируемые идентификаторы.  [5]

Локальный модуль - это модуль, который находится внутри другого модуля.  [6]

Локальные модули позволяют выделить в заключающем их модуле несколько кусков, избежав при этом неудобства, связанные с созданием нового глобального модуля. Локальные модули обычно в совокупности составляют большой глобальный модуль, поэтому привести здесь небольшой пример нереально. Локальные модули обсуждаются в гл.  [7]

Процедуры и локальные модули не являются единицами компиляции.  [8]

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

ЗАМЕЧАНИЕ: включение локального модуля в процедуру, которая, в свою очередь, находится в библиотечном модуле, - не необходимость, а скорее пример.  [10]

Оператор RETURN используется внутри локального модуля для прекращения выполнения его тела точно так же, как он используется в процедуре. Из тела модуля невозможно вернуть значение. Таким образом, тела модулей - это что-то похожее на процедуры без параметров.  [11]

12 Организация программы Кросс. [12]

То, что экспортируется из локального модуля, помещается во внешнее окружение.  [13]

Поэтому все, что нужно локальному модулю из глобального модуля, должно быть сначала импортировано в окружающую среду этого локального модуля, а затем импортировано в сам локальный модуль.  [14]

В качестве примера я собираюсь привести локальный модуль HriteHod, который разбивает вывод на страницы и колонки. WriteMod экспортирует процедуру WRITECARD, вызываемую для вывода чисел типа CARDINAL. Модуль WriteHod использует статические переменные для хранения номера строки и номера колонки. Каждый раз при выводе числа WriteMod проверяет.  [15]



Страницы:      1    2    3    4