Директива $O Pascal-Паскаль

Описание

$O: генерация оверлейного кода - Включает и выключает генерацию оверлейного объектного кода.

Синтаксис: {$O+} или {$O-}
Значение по умолчанию: {$O-}
Тип: Глобальная
Команда меню: Options|Compiler|[X] Overlays allowed
Режим: Real

Состояние {$O+}

В состоянии {$O+}, генератор объектного кода принимает специальные меры предосторожности при передаче строковых и наборных констант из одной оверлейной процедуры или функции в другую.

Использование директивы {$O+} в модуле не вынуждает вас делать его оверлейным, но компилятор позволяет модулю быть оверлейным только в том случае, если он компилировался в режиме {$O+}.

Если вы создаете модули, которые планируете использовать и в оверлейных, и в не-оверлейных приложениях, то компилируйте их в режиме {$O+}, что гарантирует, что вы можете использовать один и тот же модуль в разных типах приложений.

ВНИМАНИЕ:

Директива компилятора {$O} почти всегда используется с директивой {$F}, чтобы удовлетворить требованию дальнего (FAR) типа вызова менеджера оверлеев.

{$O Имя_модуля}

$O: Имя оверлейного модуля - Записывает модуль в файл оверлеев.

Синтаксис: {$O Имя_модуля}
Тип: Глобальная
Режим: Real

Когда вы компилируете программу, директива {$O Имя_модуля} определяет, какой из модулей, используемых программой должен быть помещен в OVR файл вместо EXE файла.

Директивы {$O Имя_модуля} должны находиться после раздела Uses программы.

Директива {$O Имя_модуля} не дает эффекта, если используется в модуле.

Компилятор сообщает об ошибке, если вы пытаетесь записать в оверлейный файл модуль, который не компилировался в режиме {$O+}.