powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Не работает красный крестик
14 сообщений из 64, страница 3 из 3
Не работает красный крестик
    #37627550
Allkay
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
IgorNG,

oPers.CleanUp()


Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
LOCAL lnForm, lnFormToClose
* Заремлено на отладку
if .F.
 IF getmessage(QUIT_MESS,3+32+0,QUIT_CAPT) <> 6 THEN
 	RETURN .F.
 ENDIF	
endif 

LOCAL loForm

THIS.lQuitting = .T.
FOR EACH loForm IN application.Forms
	IF TYPE("loForm") == "O" AND loForm.Baseclass == "Form"
	
		IF !loForm.QueryUnload()

		ENDIF
		loForm.Release()
	ENDIF
ENDFOR
RETURN .T.



Cleanup2

Код: sql
1.
2.
3.
4.
5.
6.
_screen.caption = this.cOldMainWindowCaption
CLEAR EVENTS
SET SYSMENU TO DEFAULT
POP KEY   &&EON
this.ShowToolBars()
this.lIsClean = .T.




ShowToolBars()

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
LOCAL nPos
 _Screen.HIDE()
_Screen.BackColor=16777215
FOR nPos = 1 TO ALEN(This.aToolBars, 1)
  IF This.aToolBars[nPos,2]
    SHOW WINDOW (This.aToolBars[nPos,1])
  ENDIF
ENDFOR
...
Рейтинг: 0 / 0
Не работает красный крестик
    #37627579
Allkay
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
IgorNG,

Do

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
This.DoMenu(This.cMainMenu)
DO WHILE .T.
	
	READ EVENTS
	IF THIS.Cleanup()
		THIS.Cleanup2
		EXIT
	ENDIF
ENDDO



Destroy

Код: sql
1.
2.
3.
4.
5.
6.
IF !This.lIsClean
  This.CleanUp()
ENDIF
IF gnHandle>0
=SQLDISCONNECT(gnHandle)
ENDIF
...
Рейтинг: 0 / 0
Не работает красный крестик
    #37628237
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AllkayDima T,
Сообщение оно выдавало после закрытия Excel потому что из-за открытого Excel я не видел сообщения.

Тогда эксель ни при чем. Внимательнее надо быть.
Allkay
Код: sql
1.
2.
ON SHUTDOWN DO release_app
...


Неправильно у тебя написано. ON SHUTDOWN должен содержать две строки:
Код: sql
1.
2.
on shutdown
clear events


MessageBox() можешь оставить если надо, остальное лишнее. Весь код по завершению приложения должен быть в главном модуле после READ EVENTS
Задача ON SHUTDOWN - запустить этот код.

И кнопка "Выход" которая работает как устроена? Так?
Код: sql
1.
2.
DEFINE PAD m_exit OF _MSYSMENU PROMPT "Выход" COLOR SCHEME 3 
ON SELECTION PAD m_exit OF _MSYSMENU clear events
...
Рейтинг: 0 / 0
Не работает красный крестик
    #37628377
Allkay
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dima T,

Кнопка выход из приложения:
...
Рейтинг: 0 / 0
Не работает красный крестик
    #37628418
IgorNG
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Allkay,

STEP ON зачем? Это для отладки
...
Рейтинг: 0 / 0
Не работает красный крестик
    #37628419
Allkay
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
IgorNG,

Да, я его поставил на время что бы отследить порядок выполнения программы, и забыл снять.
...
Рейтинг: 0 / 0
Не работает красный крестик
    #37628520
Allkay
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
IgorNG, Dima T,

Я кажется, нашел причину.
Вот в этом коде:
Код: sql
1.
2.
3.
4.
      DO FORM frm_Print_regKard NAME frmPrint WITH cRegNumb,0
      frmPrint.Visible=.f.
      frmPrint.Refresh()
      RELEASE frmPrint


Если закомментить
Код: sql
1.
frmPrint.Visible=.f.


то все хорошо работает и все закрывается с Excel и без его.

У меня не подключён принтер, а он, наверное, отправляет запрос на принтер и ждет ответа, а так как ответа нет, получается, что висит запрос и крестик не работает.

Ну, или как-то так!
...
Рейтинг: 0 / 0
Не работает красный крестик
    #37628521
Grin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2Allkay,

Учится лучше пробуя писать самому, а в чужой код ходить подсмотреть как это сделано у когото (как в шпаргалку подсмотреть).
В качестве примера можно брать Solution, Tastrade, Northwind из поставки самого фокса.
Возьми почитай серию статей "Для начинающих" на foxclub.ru (автор, ели не запамятовал Володя Максимов) - это лучшее для начала.
Если с англицким трабл - скачай хелп к 9 на руском, благо его фокспрошники с foxclub перевели, ссылку найдеш на сайте клуба.
Далее скачай офлайн форум фоксклуба (не уверен что он обновляется, нету у меня туда доступа, корп. сеть мать ее) - там можно найти ответ практически на любой вопрос.
...
Рейтинг: 0 / 0
Не работает красный крестик
    #37628526
Allkay
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Grin,

Спос за подсказку, обязательно посмотрю.
...
Рейтинг: 0 / 0
Не работает красный крестик
    #37628615
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AllkayIgorNG, Dima T,

Я кажется, нашел причину...
Я же тебе писал выше:
RELEASE frmPrint - не уничтожает форму, только переменную frmPrint, надо frmPrint.Release()

Код: sql
1.
2.
3.
4.
      DO FORM frm_Print_regKard NAME frmPrint WITH cRegNumb,0
      frmPrint.Visible=.f.
      frmPrint.Refresh()
      frmPrint.Release()
...
Рейтинг: 0 / 0
Не работает красный крестик
    #37628639
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Посмотри у формы frm_Print_regKard что в QueryUnload() прописано.
Если в QueryUnload() выполнить nodefault - форма крестиком не закроется, и ON SHUTDOWN не сработает.
...
Рейтинг: 0 / 0
Не работает красный крестик
    #37628677
Allkay
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dima T,

Да, так точно. Так тоже работает.
Благодарю за помощь и терпение!
...
Рейтинг: 0 / 0
Не работает красный крестик
    #37628682
Allkay
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dima TПосмотри у формы frm_Print_regKard что в QueryUnload() прописано.
Если в QueryUnload() выполнить nodefault - форма крестиком не закроется, и ON SHUTDOWN не сработает.

Там совсем ни чего не прописано!
...
Рейтинг: 0 / 0
Не работает красный крестик
    #37628689
Allkay
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dima T,

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


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