СообЧа > База Знаний > Базы данных > FoxPro

Вопрос

При создании проекта в VFP и его компиляции в exe-файл возможно ли избавиться от главного окна? Я уже всячески экспериментировал с переменной _screen, ничего не получается. То есть, создаю пустой проект, в нем вставляю форму, говорю ей set main, компилирую.

Запускаю полученный экзешник и форма открывается в главном окне VFP (это я успеваю увидеть) и тут же закрывается. Я понимаю: не прописал где-то read events, но как все же избавиться от главного окна, чтобы открывалась только форма set main?

Ответ

Это делается таким образом.
Вставляем в проект statr.prg и делаем его set main.

_SCREEN.Visible=.f.
*DO open
ON SHUTDOWN QUIT && это чтобы винда закрывала прог. при выходе
DO FORM myform &&noshow
READ EVENTS
if RIGHT(sys(16,0),4)='.exe'
ON SHUTDOWN
QUIT
endif
close all
clear all
*_SCREEN.Visible=.t.
cancel

В форме должно быть прописано св-во:

.ShowWindow=2 -As Top-Level Form
в .Destroy такой код
CLEAR EVENTS
if RIGHT(sys(16,0),4)#'.exe'
_SCREEN.Visible=.t. && иначе при разработке окно Фокса пропадет
endif

Кроме того в проект, а лучше в каталог с прог. обязательно положить файл config.fpw такого содержания:

SCREEN=OFF
CODEPAGE = 1251
*KEYCOMP = WINDOWS
COLLATE = RUSSIAN

Если будут еще вопросы, то наш лучший сайт по Фокс: http://www.foxclub.ru Форум которого лучше любой книги для программистов. Там можно быстро получить ответы на почти все вопросы, и его архив нужно иметь под рукой.

Из конференции Expert_FAQ



Copyright © 2000-2004 Сообщество Чайников
Контактная информация