Команды CLEAR

Освобождают заданные элементы в памяти.

Синтаксис:

CLEAR
	[ALL | CLASS ClassName | CLASSLIB ClassLibraryName | DLLS |
	EVENTS | FIELDS | GETS | MACROS | MEMORY | MENUS |
	POPUPS | PROGRAM | PROMPT | READ [ALL] | TYPEAHEAD |
	WINDOWS]

Параметры:
ALL
Освобождает в памяти все переменные памяти и массивы, а также определения всех пользовательских строк меню, самих меню и окон. Кроме того, команда CLOSE ALL закрывает все таблицы, включая все связанные с ними файлы индексов, файлы формата и memo-файлы, и выбирает рабочую область 1. CLEAR ALL также удаляет из памяти все внешние 32-разрядные библиотеки динамического связывания Windows (.DLL), зарегистрированные с помощью команды DECLARE - DLL.
Команда CLEAR ALL не освобождает системные переменные памяти и не очищает буфер откомпилированных программ. Для очистки этого буфера используйте команду CLEAR PROGRAM.
Если выдать CLEAR ALL внутри события или метода активного элемента управления или объекта, будет сгенерировано сообщение об ошибке Visual FoxPro. Переменная памяти типа объекта не может быть освобождена из памяти, если соответствующий ей элемент управления или объект активен.
CLASS ClassName
Удаляет из памяти определение класса. Если создан экземпляр класса, Visual FoxPro хранит определение класса в памяти и после освобождения этого экземпляра. Чтобы удалить из памяти определение класса после освобождения его экземпляра, используйте команду CLEAR CLASS.
CLASSLIB ClassLibraryName
Удаляет из памяти все определения классов, содержащиеся в данной библиотеке визуальных классов. Если существуют экземпляры классов, принадлежащих этой библиотеке, определения классов не удаляются из памяти и генерируется сообщение об ошибке. Однако все определения классов, не имеющих экземпляров, удаляются из памяти.
DLLS
Удаляет из памяти все внешние 32-разрядные библиотеки динамического связывания Windows (.DLL), зарегистрированные с помощью команды DECLARE - DLL. Подробнее о регистрации внешних библиотек DLL см. DECLARE -DLL.
EVENTS
Прекращает обработку событий, начатую по команде READ EVENTS. После выдачи команды CLEAR EVENTS выполнение программы продолжается со строки, непосредственно следующей за строкой с командой READ EVENTS.
FIELDS
Освобождает список, созданный по команде SET FIELDS, и выполняет команду SET FIELDS OFF. Команда CLEAR FIELDS, в отличие от SET FIELDS TO, освобождает все списки полей во всех рабочих областях, а не только в текущей. Кроме того, команда SET FIELDS TO не включает неявное выполнение команды SET FIELDS OFF.
GETS
Освобождает все ждущие элементы управления @ ... GET. Выполнение команды CLEAR также высвобождает все ждущие элементы управления @ ... GET.
MACROS
Освобождает в памяти все макрокоманды клавиатуры, включая все назначения клавиш SET FUNCTION. Макрокоманды можно сохранить в файл макрокоманды или в memo-поле с помощью команды SAVE MACROS и позже восстановить командой RESTORE MACROS. Кроме того, по команде RESTORE MACROS можно восстановить и макрокоманды, используемые по умолчанию.
MEMORY
Освобождает в памяти все глобальные и локальные переменные памяти и массивы. Системные переменные памяти не освобождаются.
MENUS
Освобождает в памяти все определения строки меню.
POPUPS
Освобождает в памяти все определения меню, созданные с помощью команды DEFINE POPUP.
PROGRAM
Очищает буфер откомпилированных программ. Visual FoxPro хранит в буфере самые последние выполнявшиеся программы. В редких случаях Visual FoxPro может не принять изменения, внесенные в файлы программ на диске. Команда CLEAR PROGRAM заставляет Visual FoxPro читать программы с диска, а не из буфера программ. Чаще всего ситуации, когда Visual FoxPro не принимает изменение файлов программ на диске, возникают, если вы модифицируете файл программы с помощью внешнего или резидентного (TSR) редактора. Кроме подобных случаев, командой CLEAR PROGRAM пользоваться не следует.
PROMPT
Освобождает элементы меню, созданные с помощью команды @ ... PROMPT.
READ [ALL]
Включена для совместимости с предыдущими версиями. Используйте вместо нее команду CLEAR EVENTS.
Производит выход из среды активной команды READ и возвращает управление на предыдущий уровень READ, если активная команда READ является вложенной. Команды READ могут иметь до пяти уровней вложения. При выдаче CLEAR READ команда READ не прекращается немедленно. Выполняются все команды, которые остались невыполненными перед возвратом в среду READ.
Если задано предложение ALL, прекращаются все команды READ на всех уровнях READ.
CLEAR READ не прекращает команду READ, выданную без элементов управления @ ... GET. В этом случае при выдаче CLEAR READ выполняется команда READ VALID. Если команда READ следует за командой элемента управления @ ... GET с предложением VALID, это предложение при выдаче CLEAR READ не выполняется.
TYPEAHEAD
Очищает буфер клавиатуры. Командой CLEAR TYPEAHEAD можно запретить вводить данные в поле или отвечать на приглашение до того, как поле или приглашение появится на экране.
WINDOWS
Освобождает в памяти все определения пользовательских окон и удаляет все окна из основного окна Visual FoxPro или из активного пользовательского окна. Команда SAVE WINDOW позволяет сохранить определения окон в файле или memo-поле для использования в будущем.
В результате выдачи команды CLEAR WINDOWS освобождаются все переменные памяти, задающие ссылки на формы. Например, следующие команды создают для формы ссылочную переменную памяти, а затем выводят на экран информацию об этой переменной:

goMyForm = CREATEOBJECT('FORM')
DISPLAY MEMORY LIKE goMyForm	&& Displays GOMYFORM  O  FORM

Команда CLEAR WINDOWS освобождает ссылочную переменную памяти, которая с этого момента будет содержать значение NULL:

CLEAR WINDOWS
DISPLAY MEMORY LIKE goMyForm  && Displays GOMYFORM  O  .NULL.

Комментарии:
Команда CLEAR очищает основное окно Visual FoxPro или текущее пользовательское окно, а также освобождает в памяти все ожидающие элементы управления @ ... GET. Команду CLEAR можно включать в файлы формата.


Предыдущий Шаг | Следующий Шаг | Оглавление
Автор Каев Артем - 29.11.2002