Запуск и выход из приложения VFP
« Назад Запуск APP-файла выполняется командой DO, например: do Gallery.app В VFP можно запустить произвольный внешний исполняемый файл, в том числе и созданный в VFP. Команда RUN [/N] MS-DOSCommand | ProgramNameили ! [/N] MS-DOSCommand | ProgramNameвыполняет внешнюю команду или программу. Опция и параметры: MS-DOSCommand – команда MS-DOS. ProgramName - Windows- или MS-DOS-программа или приложение. /N – задает NOWAIT. Опция включается, если ProgramName – это Windows-приложение. Замечание. Нельзя запускать из VFP программы, реорганизующие диск, например CHKDSK, поскольку в результате это может повредить VFP. Примеры: && Запускается карта символов ! /n CharMap.exe && && Запускается программа настройки свойств Экрана ! /n Control Color Сразу после опции /N (без пробелов) можно указать число, определяющее вид открываемого окна:
По умолчанию запускаемая MS-DOS-программа не должна превышать 256K. При нарушении этого условия должен быть соответствующим образом откорректирован файл Foxrun.pif. Команда QUITзавершает текущий сеанс VFP и передает контроль операционной системе. Следует всегда выполнять эту команду (явно или неявно, например посредством Alt+F4) для завершения работы VFP. Если выключить компьютер, не выполнив этой команды, то открытые файлы могут быть повреждены и данные утеряны; временные файлы могут остаться на диске. Команда ON SHUTDOWN [Command]задает команду Command, выполняемую при попытке выйти из VFP или Microsoft Windows, когда исполняется VFP. Вызов ON SHUTDOWN без Command освободит текущую ON SHUTDOWN-команду. Пример. В командном окне выполняется команда. ON SHUTDOWN do d:\OnShutDownProc.prg В файл d:\OnShutDownProc.prg помещен следующий код: && #include FoxPro.h && quitApp = MessageBox("Завершить работу?", ; MB_YESNO + MB_ICONQUESTION + MB_DEFBUTTON1, "Конец сеанса") if quitApp = IDYES then close all quit && Завершаем работу приложения endif В такой ситуации выполнение QUIT, например в командном окне, или нажатие Alt+F4 приведет к вызову программы d:\OnShutDownProc.prg; работа приложения будет завершена при положительном ответе на MessageBox-вопрос. |