Директива $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+}.