Распечатать страницу

Выполнение формы в Visual FoxPro

« Назад

Команда

DO FORM FormName | ? [NAME VarName [LINKED]]
                   [WITH cParameterList] [TO VarName] [NOSHOW]

запускает форму или набор форм, созданный в проектировщике форм.

Опции и параметры:

FormName – имя файла формы или набора форм.

NAME VarName [LINKED] – задает имя переменной или элемента существующего массива, используя которое можно ссылаться на форму или набор форм. Тип VarName – Object.

Если опция NAME опущена, то VFP создаст переменную типа Object, с тем же именем, что и имя файла формы или набора форм.

Если имеется опция LINKED, то форма присоединяется к переменной, ассоциированной с формой. Тогда если ассоциированная переменная оказывается вне области видимости или освобождается, то освобождается и форма, например если открыта форма

do form (Home(2) + 'Solution\Controls\Timer\Swatch.scx') name sw linked

то после выполнения

release sw

она закроется.

WITH cParameterList – список передаваемых форме или набору форм параметров.

Параметры передаются обработчику события Init, если свойство формы (набора форм) WindowType – это 0 (ModeLess) или 1 (Modal), и передаются обработчику события Load, если WindowType – это 2 (Read) или 3 (ReadModal).

Замечание. Значения 2 (Read) и 3 (ReadModal) свойства WindowType включены для совместимости с прежними версиями; они доступны только для форм, полученных в результате конвертирования форм предыдущих версий FoxPro.

TO VarName – имя переменной, содержащей результат, возвращаемый формой или набором форм.

Команда RETURN value задается в обработчике события Unload формы или набора форм. Если команда отсутствует или выполнена без параметра value, то VarName получит значение .T.

Опция TO может быть использована, если свойство WindowType формы или набора форм имеет значение 1 (Modal).

Если обработчик события Load формы или набора форм возвращает .F., предотвращая открытие формы или набора форм, то обработчик события Unload не вернет никакого значения для VarName.

NOSHOW – метод Show не вызывается при запуске формы (набора форм). Форма исполняется, но не видна. Для ее отображения следует установить свойство Visible в .T. или выполнить метод Show, например:

do form (Home(2) + 'Solution\Controls\Timer\Swatch.scx') noshow

Swatch.Visble = .T.            && или: Swatch.Show

Если опция NOSHOW опущена, то DO FORM выполнит метод Show формы или набора форм.