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

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

Отловить таймер


Страницы:   1 2

Gu ©   (2011-04-12 18:18:00) 

Есть проект, с кучей компонентов сторонних (очень много кода), все работает норм, тольк вот если клаву и маус не трогать очевидно где то включается таймер (ровно через 60 сек начинается - мышку тронешь все обратно нормально), и некоторые элементы управления немного поддергиваются, там видео идет и это оч. мешает. В коде вроде таймеров нету, в компонентах - куча, и все вроде бы за другое отвечают, понятно что гдето один зарыт нужный, можно ли както в основной форме какой нить запрос повесить, чтобы узнать какой таймер в это время активируется (ровно 60 сек после оставляния мауса и клавы впокое)?


И. Павел   (2011-04-12 19:20:00) [21]


> Gu   (12.04.11 19:19) [16]

Если долго не двигать мышкой, то компоненты просто мерцают, или же меняют свои позиции на форме?


И. Павел   (2011-04-12 19:19:00) [22]


> Gu   (12.04.11 19:13) [15]

Перебрать все формы приложения можно так:
for i := 0 to Application.ComponentCount - 1 do
 begin
   if (Application.Components[i] is TForm)
   then Memo1.Lines.Add((Application.Components[i] as TForm).Name);
 end;


Ну и еще не забудьте про модули данных.


Gu   (2011-04-12 19:19:00) [23]

еще некоторые таймеры там как      
FHintTimerID := SetTimer(0, 0, FHintWindow.HideHintTime, @HideHintTimerProc);
идут..


Gu   (2011-04-12 19:13:00) [24]

по форме понятно, а в проекте всем?
например там в юзес куча всего подключается, при таком поиске компоненты оттуда в список не попадут.


И. Павел   (2011-04-12 19:04:00) [25]


> Gu   (12.04.11 19:00) [9]

Тогда просто на 59-ой секунде проходите все таймеры и запоминайте их свойство Enabled где-нибудь (к примеру в свойстве tag). А на 61 секунде проходите снова и смотрите - не включился ли какой-нибудь таймер.

Пройти все компоненты на форме можно так:

 for i := 0 to ComponentCount - 1 do
   if Components[i] is TTimer then
   ...


Gu   (2011-04-12 19:02:00) [26]

>> 60000 и 60*1000
и :=60 и .interval и тп пробовал, находит, но все нето


clickmaker   (2011-04-12 19:01:00) [27]

> пробовал искать на "60", тоже много всего.

попробуй еще 60000 и 60*1000


Anatoly Podgoretsky   (2011-04-12 19:01:00) [28]

Ну мучайся


Gu   (2011-04-12 19:01:00) [29]

или может можно узнать кто отслеживает клаву и маус? хотя мож.там у виндов все запрашивается...


Gu   (2011-04-12 19:00:00) [30]

код полностью доступен, включая компоненты, но его оч. много, даже простым поиском строки на TTimer в *.pas в папке проекта чуть не половина файлов находится, пробовал искать на "60", тоже много всего.


И. Павел   (2011-04-12 18:58:00) [31]


> может както можно через FindComponent все таймеры найти
> и имена отобразить?

У вас все таймеры доступны? Т.е. вы можете к любому из них обратиться? Никто не зашит в скрытые секции компонентов?


> ну я уже так сделал :)

Я вообще-то пошутил.


Gu   (2011-04-12 18:55:00) [32]

2 павел. ну я уже так сделал :) но все же интересно, кто из таймеров мешается.


Gu   (2011-04-12 18:54:00) [33]

может както можно через FindComponent все таймеры найти и имена отобразить?


И. Павел   (2011-04-12 18:54:00) [34]

Что значит "поддергивается"? Летают компоненты по форме что ли?


> все работает норм, тольк вот если клаву и маус не трогать
> очевидно где то включается таймер (ровно через 60 сек начинается
> - мышку тронешь все обратно нормально)

Поставьте свой таймер и "поддергивайте" клаву и маус раз в 59 секунд :) Чтобы тому, кто будет сопровождать программу после вас, было уже вдвойне интереснее.


Gu   (2011-04-12 18:50:00) [35]

>> где "там"?
неважно, вот конкретно что нужно
>>> можно ли както в основной форме какой нить запрос повесить, чтобы узнать какой таймер в это время активируется (ровно 60 сек после оставляния мауса и клавы впокое)?

>> Оставь этот проект в покое и начни с нуля.
мне проще на ваш совет внимания не обращать


Jeer   (2011-04-12 18:40:00) [36]


> после оставляния мауса и клавы впокое


Оставь этот проект в покое и начни с нуля.
Своего.


clickmaker   (2011-04-12 18:27:00) [37]

> там видео идет

где "там"?


Gu   (2011-04-12 18:20:00) [38]

или может какието сторонние проги есть, которые компоненты могут отслеживать?


Страницы:   1 2

Наверх

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