Форум: "Начинающим";
Текущий архив: 2011.07.24;
Скачать: [xml.tar.bz2];
ВнизОтловить таймер Найти похожие ветки
← →
Gu (2011-04-12 18:18) [0]Есть проект, с кучей компонентов сторонних (очень много кода), все работает норм, тольк вот если клаву и маус не трогать очевидно где то включается таймер (ровно через 60 сек начинается - мышку тронешь все обратно нормально), и некоторые элементы управления немного поддергиваются, там видео идет и это оч. мешает. В коде вроде таймеров нету, в компонентах - куча, и все вроде бы за другое отвечают, понятно что гдето один зарыт нужный, можно ли както в основной форме какой нить запрос повесить, чтобы узнать какой таймер в это время активируется (ровно 60 сек после оставляния мауса и клавы впокое)?
← →
Gu (2011-04-12 18:20) [1]или может какието сторонние проги есть, которые компоненты могут отслеживать?
← →
clickmaker © (2011-04-12 18:27) [2]> там видео идет
где "там"?
← →
Jeer © (2011-04-12 18:40) [3]
> после оставляния мауса и клавы впокое
Оставь этот проект в покое и начни с нуля.
Своего.
← →
Gu (2011-04-12 18:50) [4]>> где "там"?
неважно, вот конкретно что нужно
>>> можно ли както в основной форме какой нить запрос повесить, чтобы узнать какой таймер в это время активируется (ровно 60 сек после оставляния мауса и клавы впокое)?
>> Оставь этот проект в покое и начни с нуля.
мне проще на ваш совет внимания не обращать
← →
И. Павел © (2011-04-12 18:54) [5]Что значит "поддергивается"? Летают компоненты по форме что ли?
> все работает норм, тольк вот если клаву и маус не трогать
> очевидно где то включается таймер (ровно через 60 сек начинается
> - мышку тронешь все обратно нормально)
Поставьте свой таймер и "поддергивайте" клаву и маус раз в 59 секунд :) Чтобы тому, кто будет сопровождать программу после вас, было уже вдвойне интереснее.
← →
Gu (2011-04-12 18:54) [6]может както можно через FindComponent все таймеры найти и имена отобразить?
← →
Gu (2011-04-12 18:55) [7]2 павел. ну я уже так сделал :) но все же интересно, кто из таймеров мешается.
← →
И. Павел © (2011-04-12 18:58) [8]
> может както можно через FindComponent все таймеры найти
> и имена отобразить?
У вас все таймеры доступны? Т.е. вы можете к любому из них обратиться? Никто не зашит в скрытые секции компонентов?
> ну я уже так сделал :)
Я вообще-то пошутил.
← →
Gu (2011-04-12 19:00) [9]код полностью доступен, включая компоненты, но его оч. много, даже простым поиском строки на TTimer в *.pas в папке проекта чуть не половина файлов находится, пробовал искать на "60", тоже много всего.
← →
Anatoly Podgoretsky © (2011-04-12 19:01) [10]Ну мучайся
← →
clickmaker © (2011-04-12 19:01) [11]> пробовал искать на "60", тоже много всего.
попробуй еще 60000 и 60*1000
← →
Gu (2011-04-12 19:01) [12]или может можно узнать кто отслеживает клаву и маус? хотя мож.там у виндов все запрашивается...
← →
Gu (2011-04-12 19:02) [13]>> 60000 и 60*1000
и :=60 и .interval и тп пробовал, находит, но все нето
← →
И. Павел © (2011-04-12 19:04) [14]
> 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:13) [15]по форме понятно, а в проекте всем?
например там в юзес куча всего подключается, при таком поиске компоненты оттуда в список не попадут.
← →
Gu (2011-04-12 19:19) [16]еще некоторые таймеры там как
FHintTimerID := SetTimer(0, 0, FHintWindow.HideHintTime, @HideHintTimerProc);
идут..
← →
И. Павел © (2011-04-12 19:19) [17]
> 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;
Ну и еще не забудьте про модули данных.
← →
И. Павел © (2011-04-12 19:20) [18]
> Gu (12.04.11 19:19) [16]
Если долго не двигать мышкой, то компоненты просто мерцают, или же меняют свои позиции на форме?
← →
Gu (2011-04-12 19:24) [19]мерцают, не оч заметно, но напрягает (фокус например появляется пропадает на кнопках).
← →
Gu (2011-04-12 19:27) [20]>> for i := 0 to Application.ComponentCount - 1 do
тож не катит, например в юзесах половина юнитов которые цепляются к основной форме - они невизуальные, таймеры там есть, но такой поиск их не найдет.
← →
Gu (2011-04-12 19:45) [21]короче пока остановился на варианте о котором говорили выше, повесил еще один таймер который раз в 59 секунд двигает маус вправо-влево на 1 пиксель :)
← →
Gu (2011-04-12 19:46) [22]если еще идеи возникнут по основному вопросу, готов выслушать, Павлу спасибо за советы.
← →
Anatoly Podgoretsky © (2011-04-12 20:16) [23]> Gu (12.04.2011 19:02:13) [13]
Таймер не обязательно должен быть компонентом, свойства Интервал может
назначаться динамически. Это может быть в каком либо компоненте третьих
сторон.
← →
sniknik © (2011-04-12 20:22) [24]> Таймер не обязательно должен быть компонентом
и это может быть совсем не таймер, а типа события onidle.
← →
Jeer © (2011-04-12 21:35) [25]
> если еще идеи возникнут
[3]
← →
Leonid Troyanovsky © (2011-04-12 22:23) [26]
> Gu (12.04.11 18:20) [1]
> или может какието сторонние проги есть
Winsight, Spy++
--
Regards, LVT.
← →
clickmaker © (2011-04-12 23:00) [27]> повесил еще один таймер который раз в 59 секунд двигает
> маус вправо-влево на 1 пиксель
главное - сам не забудь про это. А то через месяцок-другой рискуем увидеть тут вопрос: "Есть проект, с кучей компонентов сторонних (очень много кода), все работает норм, тольк вот мышь периодически дергается вправо-влево..."
← →
Плохиш © (2011-04-13 02:07) [28]Хм, и никто не посоветовал нанять программиста. Мельчает форум, однако...
← →
Германн © (2011-04-13 02:59) [29]
> Плохиш © (13.04.11 02:07) [28]
>
> Хм, и никто не посоветовал нанять программиста. Мельчает
> форум, однако...
Так это к тебе претензии. Это твоя прерогатива советовать нанять программиста!
:)
← →
han_malign (2011-04-13 09:17) [30]Искать надо не таймер, а Repaint и Update - и прибивать нафиг(за исключением элементов ListView и TreeView - которые по другому не умеют)...
Ну и Invalidate можно посмотреть, только уже аккуратно...
← →
Молчанов (2011-04-13 09:37) [31]Попробуйте:
SetThreadExecutionState(ES_SYSTEM_REQUIRED or ES_DISPLAY_REQUIRED or ES_CONTINUOUS);
← →
clickmaker © (2011-04-13 10:34) [32]SetDevelopmentState(DS_BRAIN_REQUIRED or DS_STRAIGHT_HANDS_REQUIRED);
← →
Плохиш © (2011-04-13 12:05) [33]
> Германн © (13.04.11 02:59) [29]
Последнее время стало прикольно читать ветки по поиску причин стука в подвале ;-)
← →
Dennis I. Komarov © (2011-04-13 14:59) [34]
> clickmaker © (13.04.11 10:34) [32]
:)))
← →
oldman © (2011-04-13 21:12) [35]
> Плохиш © (13.04.11 12:05) [33]
> Последнее время стало прикольно читать ветки по поиску причин
> стука в подвале ;-)
Подозрение есть, что у автора сабжа скринсейвер настроен на 60 секунд. А картинка глючит - видеокарта кривая...
← →
Inovet © (2011-04-15 02:16) [36]> [35] oldman © (13.04.11 21:12)
> скринсейвер настроен на 60 секунд.
Забавно. А может это скринсейвер такой и есть.
← →
Германн © (2011-04-15 02:43) [37]
> Забавно. А может это скринсейвер такой и есть.
"Такие" скринсейверы на моей памяти делал только Руссинович. Но очень давно.
← →
Gu (2011-04-15 04:20) [38]>> Подозрение есть, что у автора сабжа скринсейвер настроен на 60 секунд. А картинка глючит - видеокарта кривая...
ну это совсем уже ;)
1. с.сейвер отключен
2. наблюдается на 5 разных пк - железо тут нипричем
могли еще написать что клава сломана и кнопка западает :)
SetThreadExecutionState - помучаю завтра. но это не решение проблемы, а ее обход. сейчас двиганье мауса итак работает
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2011.07.24;
Скачать: [xml.tar.bz2];
Память: 0.53 MB
Время: 0.004 c