Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 26.07.2008, 09:11   #1
KORN
Банхаммер
Участник клуба
 
Аватар для KORN
 
Регистрация: 17.02.2007
Сообщений: 1,754
По умолчанию Не выключается комп с запущеной программой

Всем доброго дня... сталкнулся с такой проблемой: при выключении компьютера он не может завершить мою программу и комп продолжает работать... уже весь код перерыл и не могу понять что не так... если кто нить встречался с такой траблой подскажите что делать...
Перед тем как спросить ищи на форуме и в GOOGLE
KORN вне форума Ответить с цитированием
Старый 26.07.2008, 09:34   #2
Altera
Старожил
 
Аватар для Altera
 
Регистрация: 29.01.2008
Сообщений: 2,406
По умолчанию

Используй GetMessage(), в качестве HWND окна пиши NULL.
Если в очереде сообщений следущее WM_QUIT, то функция фозвращает FALSE.
Если ты пишешь прогу для win32, то запихни это в отдельный поток, организующий выход из програмы.
Altera вне форума Ответить с цитированием
Старый 26.07.2008, 09:37   #3
KORN
Банхаммер
Участник клуба
 
Аватар для KORN
 
Регистрация: 17.02.2007
Сообщений: 1,754
По умолчанию

нет так на других то прогах все норм... а тут касяк вылазит... такое ощющение что система посылает команду закрытия а прога толи ее не успевает обработать то ли че...
Перед тем как спросить ищи на форуме и в GOOGLE
KORN вне форума Ответить с цитированием
Старый 26.07.2008, 10:00   #4
Altera
Старожил
 
Аватар для Altera
 
Регистрация: 29.01.2008
Сообщений: 2,406
По умолчанию

Ну а ты проверь, доходит сообщение или нет
В главной форме напиши:
Код:
private
    { Private declarations }
    procedure onClose (var msg: tMessage); message wm_close;

.....

procedure Ttest_form1.onClose(var msg: tMessage);
begin
   close; {если тут написать что-то другое, например showMEssage('dafs'), то прога не будит никак закрываться}
end;
Altera вне форума Ответить с цитированием
Старый 26.07.2008, 13:47   #5
Terran
Участник клуба
 
Аватар для Terran
 
Регистрация: 28.11.2007
Сообщений: 1,521
По умолчанию

Программа может не закрываться в том случае, если у вас в оброботчике события

Код:
procedure TForm1.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
begin
CanClose:=False;
end;
CanClose:=False;

Или можно ещё зделать так:

Код:
public
    { Public declarations }
     procedure WMQueryEndSession(var Message: TMessage); message WM_QUERYENDSESSION;
-----------------------
procedure TForm1.WMQueryEndSession(var Message: TMessage);
begin
Message.Result:=1;
Halt;
//PostMessage(Application.Handle, wm_Quit, 0, 0);
end;
Всегда рад помочь!
Terran вне форума Ответить с цитированием
Старый 27.07.2008, 07:49   #6
KORN
Банхаммер
Участник клуба
 
Аватар для KORN
 
Регистрация: 17.02.2007
Сообщений: 1,754
По умолчанию

неа не канает... я уже снес все что выполняется на OnClose там только осталось application.terminate; halt так же не помогает...
Перед тем как спросить ищи на форуме и в GOOGLE
KORN вне форума Ответить с цитированием
Старый 28.07.2008, 09:59   #7
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Ну и где твой код?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
комп. для программирования фамил Компьютерное железо 4 09.05.2008 12:11
Комп здох Х_Х JTG Компьютерное железо 13 03.04.2008 10:05
Игровой комп Simply-Art Компьютерное железо 7 15.02.2008 09:29
Недохакерный комп.... steck Свободное общение 1 04.09.2007 21:14
Выключте мой комп ChukCha Win Api 3 12.07.2007 11:01