Команда DO FORM

Выполняет скомпилированную форму или набор форм, созданных с помощью конструктора форм.

Синтаксис:

DO FORM FormName | ?
	[NAME MemVarName]
	[WITH cParameterList]
	[LINKED MemVarName]
	[TO MemVarName]
	[NOREAD]

Параметры:
FormName
Задает имя формы или набора форм, которые предстоит выполнить.
?
Отображает диалоговое окно Do, в котором можно выбрать форму или набор форм для выполнения.
NAME MemVarNameVisual FoxPro автоматически создаст ее. Если вы задаете элемент массива, этот массив должен существовать уже до выдачи команды DO FORM. Если задать существующую переменную памяти или элемент массива, запись будет вестись в них.
Если предложение NAME опущено, Visual FoxPro создает переменную памяти типа объекта, имя которой совпадает с именем файла формы или набора форм.
WITH cParameterList
Задает параметры, передаваемые в форму или набор форм.
Если выполняется форма, параметры передаются в метод Init этой формы.
Если выполняется набор форм, а значение свойства WindowType объекта FormSet установлено равным ModeLess (0) или Modal (1), параметры передаются в метод Init объекта FormSet. Если же значение свойства WindowType установлено равным Read (2) или ReadModal (3), параметры передаются в метод Setup1.
LINKED MemVarName
Связывает форму с соответствующей ей переменной памяти, чтобы форма освобождалась, когда переменная выходит за пределы области действия. Если не задать предложение LINKED, форма будет оставаться активной, даже если ей не будет соответствовать никакая переменная объекта.
TO MemVarName
Задает переменную для хранения значения, возвращаемого из формы. Если такой переменной не существует, Visual FoxPro автоматически создает ее. Для задания возвращаемого значения используйте команду RETURN в процедуре события Unload данной формы. Если не указать возвращаемое значение, по умолчанию будет возвращаться значение "истина" (.T.). Чтобы вы могли использовать предложение TO, свойство WindowType формы должно быть установлено равным 1 (Modal).
NOREAD
Определяет, что набор форм создается и отображается, но элементы управления не активизируются до выдачи команды READ. Опция NOREAD игнорируется, если значение свойства WindowType объекта FormSet отлично от 2 (Read).

Пример:

* Следующий пример выполняет форму управления секундомером
* (SWATCH.SCX).
DO FORM (HOME( ) + 'samples\controls\timer\swatch.scx')

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