powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / приложение не закрывается
6 сообщений из 6, страница 1 из 1
приложение не закрывается
    #34379466
greeng
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Есле нет файла s86.dbf срабатывает Exit.prg
но приложение не закрывается почему?
хотя сам код Exit.prg работает через меню и закрывает приложение
___________

main.prg=>

SET TALK OFF
SET STATUS BAR OFF
SET SYSMENU OFF
ON SHUTDOWN Do Exit.prg
ON error MessageBox ('Ошибка')
Set path to baza
With _Screen
_screen.AUTOCENTER =.T.
.Height = 200
.Width = 600
.BackColor=RGB(255,255,255)
.Caption="Программа формирования списков на банк Уралсиб v 1.01"
Endwith

IF .NOT. FILE('S86.dbf')
MessageBox( 'Нет файла S86.dbf','Программа прервана' )
Quit
ENDIF

DO menu1.mpr
READ EVENTS



release window
CLOSE ALL
CLEAR EVENTS
CLEAR ALL
ON SHUTDOWN

_____________
Exit.prg =>

IF MESSAGEBOX("Закрыть программу?", 4+32, "Выход") = 6
release window
Clear windows
CLOSE ALL
CLEAR EVENTS
ENDIF
...
Рейтинг: 0 / 0
приложение не закрывается
    #34379900
ON SHUTDOWN Do Exit.prg
ставь после условия IF

а в самом условии вместо QUIT сделай RETURN
...
Рейтинг: 0 / 0
приложение не закрывается
    #34379904
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Потому что ПОСЛЕ выполнения Exit.prg программа ПРОДОЛЖАЕТ выполнятся дальше и успешно доходит до команды READ EVENTS, на которой и останавливается.

В данном случае, добавь команду RETURN после Quit.
...
Рейтинг: 0 / 0
приложение не закрывается
    #34379914
alex11100
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ошибка в последовательности действий

вначале проверяйте отсутствие дбф

а уже затем


ON SHUTDOWN Do Exit.prg


чтобы избежать таких ошибок,
необходимо нарисовать последовательность действий
на бумажке карандашиком, удачи
...
Рейтинг: 0 / 0
приложение не закрывается
    #34379947
alex11100
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
можно сделать и финт ушами,
но лучше всетаки решать такие задачи логично,
т.е правильно поднимать приложение через обвязанные классы


Код: 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.
SET TALK OFF 
SET STATUS BAR OFF 
SET SYSMENU OFF 
ON SHUTDOWN Do Exit.prg
ON error MessageBox ('Ошибка')
Set path to baza
With _Screen 
_screen.AUTOCENTER =.T.
.Height =  200  
.Width =  600  
.BackColor=RGB( 255 , 255 , 255 ) 
.Caption="Программа формирования списков на банк Уралсиб v 1.01" 
Endwith 

IF .NOT. FILE('S86.dbf')
	MessageBox( 'Нет файла S86.dbf','Программа прервана' ) 
	my_Exit(.t.)
ENDIF

DO menu1.mpr
READ EVENTS



release window 
CLOSE ALL 
CLEAR EVENTS 
CLEAR ALL 
ON SHUTDOWN

*****************
procedure my_Exit
*****************
lparameters tlMessage
*  tlMessage - если .f. , то светим сообщение
if !tlMessage
	IF MESSAGEBOX("Закрыть программу?",  4 + 32 , "Выход") =  6  
		release window 
		Clear windows 
		CLOSE ALL 
		CLEAR EVENTS 
	endif
else
    on shutdown 
    quit
endif
...
Рейтинг: 0 / 0
приложение не закрывается
    #34380710
Фотография Генетический мусор
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alex11100можно сделать и финт ушами,
но лучше всетаки решать такие задачи логично,
т.е правильно поднимать приложение через обвязанные классы


Почему процедура exit не обернута хотя-бы в custom-класс ? Вообще-то тут должен быть custom-класс "application" с процедурами Init, Exit и т.д.
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / приложение не закрывается
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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