Модераторы: Poseidon, Snowy, bems, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Application.Active, как сделать по-другому? 
:(
    Опции темы
stab
Дата 11.10.2003, 23:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Экс. модератор
Сообщений: 1839
Регистрация: 1.1.2003

Репутация: 14
Всего: 48



Application.Active работает прекрасно, но если приложение подвисло, т.е. какие-то длительные вычисления, то значение этого свойства не обновляется. Есть ли другой способ узнать активно приложение или нет?


--------------------
6, 6, 6 - the number of the beast.
PM MAIL WWW   Вверх
<Spawn>
Дата 12.10.2003, 05:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Око кары:)
****


Профиль
Группа: Экс. модератор
Сообщений: 2776
Регистрация: 29.1.2003
Где: Екатеринбург

Репутация: 44
Всего: 64



GetForegroundWindow, GetActiveWindow?


--------------------
"Для некоторых людей программирование является такой же внутренней потребностью, подобно тому, как коровы дают молоко, или писатели стремятся писать" - Николай Безруков.
PM MAIL ICQ   Вверх
var-alex
Дата 12.10.2003, 09:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 29
Регистрация: 7.10.2003
Где: Коломна, MCK

Репутация: 1
Всего: 1



Вынести вичисления в отдельный поток?? Вызывать application.processmessages в этих вычислениях?? И всё будет обновляться?
PM MAIL   Вверх
stab
Дата 12.10.2003, 21:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Экс. модератор
Сообщений: 1839
Регистрация: 1.1.2003

Репутация: 14
Всего: 48



Цитата
Вынести вичисления в отдельный поток?? Вызывать application.processmessages в этих вычислениях?? И всё будет обновляться?


млин, я о чем спрашивал-то? Есть ли другой способ узнать активно приложение или нет?

<Spawn>, сенкс, разобрался.


--------------------
6, 6, 6 - the number of the beast.
PM MAIL WWW   Вверх
Vit
Дата 13.10.2003, 04:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Vitaly Nevzorov
****


Профиль
Группа: Экс. модератор
Сообщений: 10964
Регистрация: 25.3.2002
Где: Chicago

Репутация: 48
Всего: 207



У меня эта задача стояла особенно остро примерно 4 года назад - представьте примерно 100 програм, работающих на 100 компьютерах. Программы навороченные - хрен-знает-сколько третьесторонних продуктов, коннект с несколькими сетями, серверами и т.п. В общем зависание очень даже возможно, даже не в моём коде, а в коде например репортинговой DLL, или чужого ActiveX, который получает данные с сети и т.п. Причём в определённом проценте случаев вешалась не только программа, но и весь компьютер... Я решил эту проблему так - каждая программа создавала на сетке в зашаренной папке файл нулевой длинны - этот файл я перезаписывал во всех циклах, до и после всех долгоиграющих процессов, для своей программы у меня были точные сведения что реже чем 1 раз в 5 минут такой файл перезаписываться не может - теперь отдельная программы проверяла возраст этого файла - если он оказывался больше 5 минут, то программа или компьютер повис и посылала email в группу сервиса, и пыталась перезагрузить компьютер. Эта система работает очень хорошо до сих пор.


--------------------
With the best wishes, Vit
I have done so much with so little for so long that I am now qualified to do anything with nothing
Самый большой Delphi FAQ на русском языке здесь: www.drkb.ru
PM MAIL WWW ICQ   Вверх
stab
Дата 13.10.2003, 05:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Экс. модератор
Сообщений: 1839
Регистрация: 1.1.2003

Репутация: 14
Всего: 48



а у меня помимо основного потока есть еще один, он занимается тем что следит за состоянием программы (основного потока), повисла\не повисла, т.д., плюс иногда выводит статистику. Когда юзер работает в другой программе и ему на эту статистику положить не надо ее и показывать. Собственно из-за этого такая проблема и возникла.


--------------------
6, 6, 6 - the number of the beast.
PM MAIL WWW   Вверх
iZZi
Дата 15.10.2003, 06:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 36
Регистрация: 22.5.2003

Репутация: нет
Всего: нет



А как ты реализовал эти потоки? я в этом пока еще не разбирался, но интересно.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Общие вопросы"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0746 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.