Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Завершение программы! [D7, XP]


Страницы:   1 2

NaRuTo ©   (2008-01-10 18:19:00) 

У меня возникла проблема. Программа находится в трее. Главная форма не показывается. При принудительном завершении её то есть при выполнение нажатие на кнопку она завершается, но если программа работает и вы нажимаете Завершение работы Windows она не даёт завершить работу. Я использовал
ShowWindow(Application.Handle,SW_HIDE);
Application.ShowMainForm:= False;
ShowWindow(Application.MainForm.Handle,SW_HIDE);
Помогите, если знаете!


Dib@zol   (2008-01-11 21:13:00) [1]

Сергей сегодня, определённо, в ударе :)

ЗЫ Аффтар, аууууу! Ждём исходник!


Сергей М.   (2008-01-11 20:04:00) [2]


> Как не культурно


Угу.

Культурней амбразурой)


{RASkov}   (2008-01-11 20:00:00) [3]

А вообще +1
:)


{RASkov}   (2008-01-11 19:59:00) [4]

> [30] Сергей М. ©   (11.01.08 19:57)

Как не культурно.... :)
Дети же.... поверят еще....


Сергей М.   (2008-01-11 19:57:00) [5]


> NaRuTo   (11.01.08 19:56) [28]


Очком-с)


{RASkov}   (2008-01-11 19:57:00) [6]

> [28] NaRuTo   (11.01.08 19:56)
> Как на этом сайте та работать!

Никто не заставляет :)


NaRuTo   (2008-01-11 19:56:00) [7]

Как на этом сайте та работать!


Dib@zol   (2008-01-11 19:52:00) [8]

ЗЫ только не напрямую на форум!!! Лучше на внешний файлообменник, напр на этот: http://www.webfile.ru


Dib@zol   (2008-01-11 19:51:00) [9]

Неа :(

Вощем, аффтару: выкладывай код, а мы почитаем. А также укажем где грабли :)


Сергей М.   (2008-01-11 19:47:00) [10]

Что, даже с мылом не лезет ?


{RASkov}   (2008-01-11 19:40:00) [11]

> [22] NaRuTo   (11.01.08 19:37)

У тебя 7 форм и все создаются "автоматом" смотри у всех вот этот обработчик OnCloseQuery...


{RASkov}   (2008-01-11 19:39:00) [12]

> [22] NaRuTo   (11.01.08 19:37)
> Так тоже не помагает

Попроси кого нибудь... только не на форуме, а "вживую")


NaRuTo   (2008-01-11 19:37:00) [13]

Помыль поможет

Так тоже не помагает


Сергей М.   (2008-01-11 19:33:00) [14]


> Не помогает


Помыль - поможет


NaRuTo   (2008-01-11 19:30:00) [15]

Не помогает!


@!!ex   (2008-01-10 21:34:00) [16]

> [18] NaRuTo   (10.01.08 21:32)

Application.Terminate ? ^))


NaRuTo   (2008-01-10 21:32:00) [17]

Она у меня и без этого обработчика не выключается. Я добавил его из Delphi World


Dib@zol   (2008-01-10 21:23:00) [18]

А можно нескромный вопрос? А нафига вообще было ставить свои обработчики?

> if Msg.EndSession = True then Close();

Во-первых, постфикс " = True " это моветон. Грубо говоря, компилятор это интерпретирует как
if (Логическая_переменная = True) = True then...

итого - имеем одно лишнее сравнение, что к тому же не добавит изящества коду.

Так что впредь пиши просто:
if Логическая_переменная then...

Насчёт " = False " - ну тут уж ничего не поделаешь, разве что вместо него if not Логическая_переменная thenписать. А можно и = False оставить. Без разницы.

Так. О чём бишь я? Ах да, о коде.
Чему ты удивляешься, если сам прописал "не выключаться" при приходе WM_ENDSESSION? Сам факт прихода етой мессаги означает, что нужно без разговоров выключаться! Это вам не WM_QUERYENDSESSION! Вощем, убирай обработчик EndSession'a и жЫви спокойно :) Или вразумительнообъясняй, на кой чорт он тебе нужен :)


NaRuTo   (2008-01-10 20:47:00) [19]

В FormClose я только указал Action:= caFree;
а вот
WMEndSession
procedure TMainForm.WMEndSession(var Msg: TWMEndSession);
begin
  if Msg.EndSession = True then
    Close();
  inherited;
end;


@!!ex   (2008-01-10 20:44:00) [20]

> [14] NaRuTo   (10.01.08 20:37)

Вооот.
А теперь неплохо было бы посмотреть реализацию методов FormClose и WMEndSession


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо