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