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

Закрытие проекта в Microsoft Visual FoxPro

« Назад

Диспетчер проектов закрывается либо интерактивно, либо при выполнении команды CLOSE ALL или RELEASE WINDOWS, либо при выполнении метода Close объекта Project, например:

release windows Project

или

_VFP.Projects(1).Close       && _VFP.ActiveProject.Close

Выполнение метода Close вызывает событие ProjectHook.Destroy. После него освобождается объект ProjectHook, если он был создан, а затем – объект Project.

Пример. При закрытии проекта обработчик события Destroy выводит сообщение.

if _VFP.Projects.Count > 0 then

oProjHook = NewObject('ProjHookClass')

_VFP.Projects(1).ProjectHook = oProjHook

else

wait window 'Все проекты уже закрыты'

endif

define class ProjHookClass as ProjectHook

procedure Destroy

    MessageBox('Диспетчер проекта закрыт методом Close')

endProc

endDefine

Вызов метода

_VFP.ActiveProject.Close

инициирующего событие oProjHook.Destroy, выполним, например, в командном окне.

Если открыто более одного проекта, то они будут закрыты одной командой RELEASE WINDOWS, содержащей имя Project соответствующее число раз, например:

release windows Project, Project      && Закрывает 2 проекта

Все проекты также закроет следующий цикл:

for each proj in _VFP.Projects

proj.Close

next

Замечание. Узнать имя окна можно, употребив, например

on key label Ctrl+F1 ? Wontop( )

Тогда после активизации окна и нажатия на Ctrl+F1 команда ? Wontop( ) напечатает его имя.

В частности, для окна Data Session будет напечатано имя View, окна Task Pane – FrmPaneManager, а окна Inellisense Manager – имя FrmFoxCode. Поэтому команда

release windows FrmFoxCode, FrmPaneManager, View

закроет эти окна, если они открыты.