powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Завершение работы программы
9 сообщений из 9, страница 1 из 1
Завершение работы программы
    #36994611
Cipis
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
При завершении работы программы процесс vpf9.exe остаётся, пробовал quit, не помогло
вот текст основной программы
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
 
set escape off
set debug off
set echo off

set deleted on

set talk off
set sysmenu off
set asserts off
set optimize on
set resource off
set help off
set typeahead to  5 

set strictdate to  0 
set century to  19  rollover  70 

on key label F1
on key label F2
on key label F3
on key label F4
on key label F5
on key label F6
on key label F7
on key label F8
on key label F9
on key label F10
on key label F11
on key label F12

set function F1 to
set function F2 to
set function F3 to
set function F4 to
set function F5 to
set function F6 to
set function F7 to
set function F8 to
set function F9 to
set function F10 to
set function F11 to

set mackey to

set compatible on
set safety off
set fullpath on
set udfparms to value

=sys( 3054 , 0 )

clear
clear all
clear dlls
clear macros
clear resource

close all
close tables all
close databases all
_SCREEN.Visible=.F.

SET RESOURCE ON
SET EXCLUSIVE ON
SET MULTILOCKS ON
SET TALK OFF
SET DATE GERMAN
SET CENTURY ON
SET STATUS BAR ON
CD C:\foxprojects\dbkyrs
SET PATH TO DATA,FORMS,PROGS ADDITIVE
DO FORM ..\forms\fform.scx
READ events 
ON SHUTDOWN CLEAR EVENTS
OPEN DATABASE SportClub
PACK DATABASE
CLOSE all
quit
[spoiler]
...
Рейтинг: 0 / 0
Завершение работы программы
    #36994756
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Как программа завершается?
...
Рейтинг: 0 / 0
Завершение работы программы
    #36994828
StQFox
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Cipis,

сталкивался когда-то с такой траблой, полагаю приложение строишь не на основе главного окна фокса, тогда:
в основной форме выставляешь св-во ShowWindow=2, в Unload Clear events , в главном модуле:
Clear events
Close All
Clear All
Release All Extended
QUIT

надеюсь, поможет
...
Рейтинг: 0 / 0
Завершение работы программы
    #36994840
Cipis
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Программа завершается строкой thisform.release в Top-level форме

Нет, не помогло, после завешения появляется окно foxpro, которое так же нельзя закрыть обычным способом
...
Рейтинг: 0 / 0
Завершение работы программы
    #36994851
Cipis
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
проблема решилась созданием 2-х процедур и их последовательным вызовом после release формы в коде основной программы. Код процедур приведен ниже
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
PROCEDURE stop
	Clear events

DEACTIVATE WINDOW all
RELEASE WINDOWS all
Release All Extended


SET DELETED OFF
SET TALK ON
SET SAFETY ON 
SET status bar ON
CLOSE DATABASES ALL 
CLOSE TABLES ALL 
CANCEL
OPEN DATABASE SportClub
PACK DATABASE
CLOSE DATABASES
RETURN

PROCEDURE realquit
	QUIT
return
...
Рейтинг: 0 / 0
Завершение работы программы
    #36994859
StQFox
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Cipis,

еще вариант: в главном модуле пишем:
ON SHUTDOWN DO MyExitProcedure

содержание процедуры стандартное:
CLEAR EVENTS
CLEAR ALL
RELEASE ALL EXTENDED
QUIT

использую у себя такое решение - проблем не наблюдал
...
Рейтинг: 0 / 0
Завершение работы программы
    #36995313
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Чтобы объяснить, что происходит, выделю ключевое место в Вашем коде

Код: plaintext
1.
2.
3.
4.
_SCREEN.Visible=.F.
DO FORM ..\forms\fform.scx
READ events 
ON SHUTDOWN CLEAR EVENTS

Очевидно, Вы работаете с формой As Top-Level, которая "по определению" не может быть модальной. Следовательно, сценарий следующий.

1) Запускается форма
2) Поскольку форма НЕ модальная, то после запуска кода продолжается исполнение кода программы и выполняется команда READ EVENTS

Все! На этом, выполнение программного кода останавливается и FoxPro ожидает событий, инициированных пользователем. Т.е. настройка ON SHUTDOWN - не выполняется. До нее просто не доходит дело.

Что произойдет, если просто закрыть форму командой ThisForm.Release()? Ну, форма закроется. И на этом все. Но ведь действие команды READ EVENTS не было отменено.

Поэтому, приложение FoxPro, во-первых, так и останется "висеть" в памяти, а поскольку до настройки ON SHUTDOWN дело вообще не дошло, то, во-вторых, у Вас будут проблемы при попытке выгрузить приложение из памяти, например, через диспетчер программ. Процесс можно будет только "убить", но не завершить.

Что надо сделать?

1. Перенести настройку ON SHUTDOWN "выше" по коду ДО команды READ EVENTS
2. В методе закрытия формы после команды ThisForm.Release() дать команду CLEAR EVENTS

Что произойдет после команды CLEAR EVENTS? Управление будет передано в основную программу на команду, непосредственно следующую за командой READ EVENTS. И произойдет штатное закрытие приложения.

Да, еще следует иметь в виду, что настройка On Shutdown срабатывает не только при попытке закрыть приложение из диспетчера программ, но и по команде QUIT.
...
Рейтинг: 0 / 0
Завершение работы программы
    #36995316
Cipis
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо за разъяснение
...
Рейтинг: 0 / 0
Завершение работы программы
    #36995319
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Более подробно обо всем этом здесь

Главный (стартовый) файл проекта
...
Рейтинг: 0 / 0
9 сообщений из 9, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Завершение работы программы
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]