powered by simpleCommunicator - 2.0.54     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Закрытие программы
14 сообщений из 14, страница 1 из 1
Закрытие программы
    #36651473
Svikator
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
В общем проблемма в следующем:
Создал меню приложения в один из пунктов меню поставил кнопку выход из программы, написал там процедуру quit выход работает.Всё закрывает выходит в меню Windows
Прицепил к меню форму написал необходимый текст программы в меню program.После этого выход происходит только в foxpro(выход в windows не работает). Подскажите плиз может есть какая нибудь команда которая закрывает все окна при запуске программы на выполнение из пункта меню?Ибо я в этом деле чайник.
...
Рейтинг: 0 / 0
Закрытие программы
    #36651485
tanglir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Svikator,

clear events где-нибудь рядом с "выходом" у вас есть?
...
Рейтинг: 0 / 0
Закрытие программы
    #36651909
Svikator
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Да есть.
...
Рейтинг: 0 / 0
Закрытие программы
    #36652009
tanglir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Подскажите плиз может есть какая нибудь команда которая закрывает все окна при запуске программы на выполнение из пункта менюЕсли нет модальных окон, то что-нибудь вроде
Код: plaintext
1.
2.
for ii= 1  to _screen.formcount 
_screen.forms(ii).close() 
endfor
...
Рейтинг: 0 / 0
Закрытие программы
    #36653031
прошелмимо
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вот пример кода.
Код: 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.
Procedure quit

oTmrExit = createobject("tmrExit", e_nMode)
if vartype(oTmrExit)<>"O"
	return .f.
endif
oTmrExit.interval =  10 
Return .t.



define class tmrExit as timer

	interval =  0 
	nMode 	 =  0 

	procedure timer
		this.interval  =  0 
		LOCAL lnFormCount, lnNum, loForm
		lnFormCount	= _screen.formcount
		for lnNum=lnFormCount to  1  step - 1 
			try
				loForm = _screen.forms(lnNum)
			catch
				loForm = .f.
			endtry
			if vartype(loForm)="O"
				loForm.visible = .f.
				loForm.release()
			endif
		endfor

		close data
		clear events
		clear dlls
		on shutdown
		quit
EndDefine 

от меню желательно оторваться таймером,
так как в случае фокуса в активном гриде
будет нарушена последовательность разрушения
форм.
...
Рейтинг: 0 / 0
Закрытие программы
    #36662376
Svikator
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Не происходит закрытия. Никакой ошибки не выдаёт.
...
Рейтинг: 0 / 0
Закрытие программы
    #36662983
прошелмимо
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SvikatorНе происходит закрытия. Никакой ошибки не выдаёт.

где и после чего?

set step не помог?
...
Рейтинг: 0 / 0
Закрытие программы
    #36663015
reware
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SvikatorВ общем проблемма в следующем:
Создал меню приложения в один из пунктов меню поставил кнопку выход из программы, написал там процедуру quit выход работает.Всё закрывает выходит в меню Windows
Прицепил к меню форму написал необходимый текст программы в меню program.После этого выход происходит только в foxpro(выход в windows не работает). Подскажите плиз может есть какая нибудь команда которая закрывает все окна при запуске программы на выполнение из пункта меню?Ибо я в этом деле чайник.
Чего-то я из сказанного автором таки не совсем понял - проблема в закрытии всех открытых форм или в выход из приложения ?
Все открытые формы вы можете закрыть (хоть из меню, хоть откуда угодно) так :
Код: plaintext
1.
2.
3.
FOR x= 1  TO _screen.formcount
    z=_screen.forms(x)
    RELEASE &z && при этом сделать корректное закрытие таблиц, привязанных к форме в методе Unload() каждой формы
NEXT
А выход из приложения кончается убийственной командой QUIT. Не знаю, где вы там её поставите.
...
Рейтинг: 0 / 0
Закрытие программы
    #36663040
Svikator
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всё выше перечисленное перепробывал. Почему то даже ошибки не выдаёт.
...
Рейтинг: 0 / 0
Закрытие программы
    #36663041
Svikator
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
У меня форма привязана к меню. В общем при запуске программы у меня на рабочем столе появляется форма, а сверху пункты меню. Так вот мне необходим полный выход из FoxPro с закрытием всех приложений.
...
Рейтинг: 0 / 0
Закрытие программы
    #36663121
прошелмимо
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
пример
...
Рейтинг: 0 / 0
Закрытие программы
    #36663560
Svikator
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
У меня в проге стоит строка "read events" при запуске в ней ошибку выдаёт. Если её убрать то прога не работает.
SET TALK OFF
SET DATE GERMAN
SET CENTURY ON
SET escape off
SET PATH TO libs, prg, menus, data, reports
ON SHUTDOWN do alvexitproc
PUSH MENU _msysmenu
HIDE WINDOW "Standard"
*Вызываем на выполнение форму
DO FORM i:\267-2\main.scx
DO i:\267-2\menu1.mpr
_screen.Visible= .T.
READ events

*Возвращаем настройки
POP MENU _msysmenu
ON SHUTDOWN

*Процедура завершения программы
PROCEDURE alvexitproc
CLEAR EVENTS
RETURN 0
...
Рейтинг: 0 / 0
Закрытие программы
    #36663742
прошелмимо
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SvikatorУ меня в проге стоит строка "read events" при запуске в ней ошибку выдаёт. Если её убрать то прога не работает.
SET TALK OFF
SET DATE GERMAN
SET CENTURY ON
SET escape off
SET PATH TO libs, prg, menus, data, reports
ON SHUTDOWN do alvexitproc
PUSH MENU _msysmenu
HIDE WINDOW "Standard"
*Вызываем на выполнение форму
DO FORM i:\267-2\main.scx
DO i:\267-2\menu1.mpr
_screen.Visible= .T.
READ events

*Возвращаем настройки
POP MENU _msysmenu
ON SHUTDOWN

*Процедура завершения программы
PROCEDURE alvexitproc
CLEAR EVENTS
RETURN 0


я ведь для Вас положил пример, в котором все работает.
может проще сделать подобно?
...
Рейтинг: 0 / 0
Закрытие программы
    #36664018
Svikator
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всё прекрасно работает. Всем большое спасибо!
...
Рейтинг: 0 / 0
14 сообщений из 14, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Закрытие программы
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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