Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Вопрос про закрытие формы...

1.9K
04 июня 2003 года
aciDroN
25 / / 07.04.2003
Есть у меня форма, деструктор её сохраняет полученные в ходе сеанса работы данные в файл, всё работает, если программу закрывать руками...Но если я выхожу из виндов или выключаю комп и при этом программа работает, ничего не сохраняется...Подскажите, как можно это обойти?
989
05 июня 2003 года
Vlad232ua
182 / / 02.04.2003
Цитата:
Originally posted by aciDroN
Есть у меня форма, деструктор её сохраняет полученные в ходе сеанса работы данные в файл, всё работает, если программу закрывать руками...Но если я выхожу из виндов или выключаю комп и при этом программа работает, ничего не сохраняется...Подскажите, как можно это обойти?


Если прога перед глазами у юзверя, то купить ему бесперебойник и написать инструкцию;) А если это опросник и стоит фиг знает где, то сразу лить на сервер, хотя это уже отдельная и обширная тема.

371
06 июня 2003 года
Non_prog
193 / / 20.03.2000
Вставь функцию сохранения в событие OnClose
главной формы.
:)
295
06 июня 2003 года
gray_k
356 / / 20.12.1999
Цитата:
Originally posted by Non_prog
Вставь функцию сохранения в событие OnClose
главной формы.
:)


При аварийном завершении работы программы (а именно это происходит, когд приработающей программе вылетают винды или комп выключают) никакие настройки как правило не сохраняются. Если это критично, то ИМХО надо сохранять полученные данные по мере их поступления или изменения. А юзеру, который выключает комп при работающей программе надо написать инструкцию и драйвер прямых рук поставить.

1.9K
06 июня 2003 года
aciDroN
25 / / 07.04.2003
Ребята, я имел ввиду принудительное закрытие программ виндой при выходе, а не обрубание электричества :)
На событии OnClose главной формы у меня прописано
Form2->Close (), где и происходит сохранение, но оно не происходит:) если программу закрывает принудительно винда
460
10 июня 2003 года
Berg
261 / / 27.03.2003
Может имеет смысл попробовать сделать это в главном файле проекта в теле catch (Exception &exception)

P.S. Это только предположение...Не пинать - не пробовал.
519
10 июня 2003 года
VaGon
134 / / 26.03.2003
Цитата:
Originally posted by aciDroN
Ребята, я имел ввиду принудительное закрытие программ виндой при выходе, а не обрубание электричества :)
На событии OnClose главной формы у меня прописано
Form2->Close (), где и происходит сохранение, но оно не происходит:) если программу закрывает принудительно винда


Ну винда закрывает программы корректно, по крайней мере пытается, и посылает сообшение WM_QUIT, если мне не изменяет память,
еще могу посоветовать обрабатывать событие формы OnDestroy ...

358
11 июня 2003 года
moonmike
423 / / 18.10.2002
Цитата:
Originally posted by VaGon

Ну винда закрывает программы корректно, по крайней мере пытается, и посылает сообшение WM_QUIT, если мне не изменяет память,
еще могу посоветовать обрабатывать событие формы OnDestroy ...


Обрабатывай:
The WM_ENDSESSION message is sent to an application after the system processes the results of the WM_QUERYENDSESSION message. The WM_ENDSESSION message informs the application whether the session is ending.

A window receives this message through its WindowProc function.

LRESULT CALLBACK WindowProc(
HWND hwnd, // handle to window
UINT uMsg, // WM_ENDSESSION
WPARAM wParam, // end-session option
LPARAM lParam // logoff option
);
Parameters
wParam
Specifies whether the session is being ended. If the session is being ended, this parameter is TRUE; otherwise, it is FALSE.
lParam
Specifies whether the user is logging off or shutting down the system. If this parameter includes the ENDSESSION_LOGOFF value, the user if logging off. (Note that this parameter is a bit mask. To test for this value, use a bitwise operation; do not test for equality.)
Windows 2000: If this parameter is zero, the system is shutting down.

Return Values
If an application processes this message, it should return zero.

Remarks
If the wParam parameter is TRUE, the session can end any time after all applications have returned from processing this message. Therefore, an application should perform all tasks required for termination before returning from this message.

The application need not call the DestroyWindow or PostQuitMessage function when the session is ending.

Requirements
Windows NT/2000: Requires Windows NT 3.1 or later.
Windows 95/98: Requires Windows 95 or later.
Header: Declared in Winuser.h; include Windows.h.

1.9K
19 июня 2003 года
DarkSide
41 / / 14.03.2003
а OnCloseQuery не пробовал юзать?
293
20 июня 2003 года
SEDEGOFF
586 / / 06.10.2002
При закрытии Windows посылает все формам сообщение ON_CLOSE. Это сообщение отлавливает только главное окно приложения. Соответственно для сохранения всех данных во всех окнах необходимо в главной форме в обработчике OnClose все это и обработывать.
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог