![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Процес не завершается [D7, 2000, XP, 2003]
KyRo © (2006-08-15 16:11:00)У меня проблема моя програмка запускается и после запуска сразу прячется в трей . На ней работают несколько таймеров которые с определенным интервалом выполняют свои задачи и все бы хорошо , но когда я пытаюсь перезагрузить компьютер или выключить его прога не дает этого сделать пока ее не выключиш.
Как сделать что бы она давала мне возможность правильно выключать комп или как отловить что комп получил команду перезагрузки или выключения ?
KyRo (2006-08-16 17:02:00) [1]Ну я не могу найти ее и у меня есть вторая программа которая работает с теми же компонентами у нее та же поблема
Сергей М. (2006-08-16 16:39:00) [2]
> в моем коде ошибок вроде бы нету
Да тебе памятник нерукотворный впору возводить !)
KyRo (2006-08-16 16:37:00) [3]не знаю но в моем коде ошибок вроде бы нету
Джо (2006-08-16 16:24:00) [4]> [36] KyRo (16.08.06 16:23)
> Тогда вопрос почему он это делает ?
В его коде есть ошибка? В твоем коде есть ошибка? Вариантов оч. много )
KyRo (2006-08-16 16:23:00) [5]
> > [33] KyRo (16.08.06 16:14)
> > Пользуюсь в нем компонентами инди фтп клиент и винсоками
>
>
> Вот отсюда и начинай исключать.
А как исключать ? Мне нжні єти компоненты к ним привязан код . Да и вообще без них программа будет глючить !
И если так задуматся инди фтп клиент находится не в активном положении,
винсок клиент тоже , остается только винсок сервер который постоянно слушает порт и теоретически если исключить таймеры может блокировать перезагрузку.
Тогда вопрос почему он это делает ?
Джо (2006-08-16 16:17:00) [6]> [33] KyRo (16.08.06 16:14)
> Пользуюсь в нем компонентами инди фтп клиент и винсоками
Вот отсюда и начинай исключать.
Сергей М. (2006-08-16 16:17:00) [7]
> KyRo (16.08.06 16:12) [32]
>
> Проверил чистое приложение тушится и без всяких
> CanClose := True; !!
>
И правильно !
Потому что CanClose = True по дифолту !
Ну а раз "чистое" приложение работает, а твое "грязное" не работает - ищи три "волшебных" отличия между ними)
KyRo (2006-08-16 16:14:00) [8]
> Плохое решение.
>
> Таймеры "сами по себе" ничем не помешают перезагрузке ОС.
> Ищи ошибку методом исключений.
То есть методом исключений.
Обычное не сложное приложение которое работает с сетью и выполняет функцию планировщика !!
Пользуюсь в нем компонентами инди фтп клиент и винсоками .
Читаю и посылаю файлы потоками.
Еще есть два таймера
И все !!!
KyRo (2006-08-16 16:12:00) [9]Проверил чистое приложение тушится и без всяких
CanClose := True; !!
Сергей М. (2006-08-16 16:02:00) [10]
> я не могу их убрать они мне необходимы
И долго ты придуриваться будешь ?)
Создай заведомо"чистое" приложение, безо всяких таймеров и прочей лабуды и проверь сабж)
Джо (2006-08-16 16:00:00) [11]> [28] KyRo (16.08.06 15:56)
> Один работает как планировщик который каждых пять секунд
> проверяет время и запускает задание в нужное время,
Плохое решение.
Таймеры "сами по себе" ничем не помешают перезагрузке ОС. Ищи ошибку методом исключений.
KyRo (2006-08-16 15:56:00) [12]По этому я не могу их убрать они мне необходимы
KyRo (2006-08-16 15:56:00) [13]Один работает как планировщик который каждых пять секунд проверяет время и запускает задание в нужное время,
А второй смотрит за логом работы программы и регулярно сохроняет его на диск .
Джо (2006-08-16 15:50:00) [14]> [24] KyRo (16.08.06 15:47)
И что такого делают твои таймеры?
Сергей М. (2006-08-16 15:49:00) [15]
> У меня как я понимаю гасят таймеры эти сообщения из за
> них и не выключается
Ну так убирай нафих свои таймеры, если они "гасят")
Джо (2006-08-16 15:48:00) [16]> Только как из этих сообщений понять что послал виндовс ?
> (перезагрузку ,логоф или шутдаун)
Отличить перезагрузку от выключения нельзя никак (it is not possible to determine which event is occurring (c) MSDN).
KyRo (2006-08-16 15:47:00) [17]Тоже не отлавливает даже если не в трее . У меня как я понимаю гасят таймеры эти сообщения из за них и не выключается.
Может мне просто отлавливать эти сообщения самому , а потом выполнять нужное действие через апи.
Только как из этих сообщений понять что послал виндовс ? (перезагрузку ,логоф или шутдаун)
Сергей М. (2006-08-16 15:42:00) [18]Ты на [12] не ответил ...
KyRo (2006-08-16 15:39:00) [19]:) Чего именно ?
Проверил событие возникает только когда я пытаюсь закрыть его руками нажимая на крестик. !
Сергей М. (2006-08-16 15:27:00) [20]Значит ты чего-то не договариваешь.