Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.08.21;
Скачать: CL | DM;

Вниз

Глючит Ttimer в самописном компоненте   Найти похожие ветки 

 
Mr.Den ©   (2004-08-23 10:51) [0]

Уважаемые.
Написал давече компонент, который использует внутри себя класс Ttimer для анимации внешнего вида компонента (по тикам он сам себя перерисовывает).
Проблема вот какая:
Если размножить компонент на форме(т.е. сделать более одной копии), то перерисовка происходит, только в случае нечетного количества активированных компонент, если количество четно, то во всех компонентах текущее состояние замирает (не перерисовывается).
Я подумал что проблема в таймере.
Может кто предложит альтернативу Ttimer. Интервал где-то 500 мсек.
И вот еще, Таймеры предполагается использовать и в основной программе интервал 30 мин, может есть альтернатива, подскажите пожалуйста.
Заранее благодарен Mr.Den


 
Юрий Зотов ©   (2004-08-23 12:33) [1]

> Mr.Den ©   (23.08.04 10:51)  

> перерисовка происходит, только в случае нечетного количества
> активированных компонент, если количество четно, то во всех
> компонентах текущее состояние замирает (не перерисовывается).

> Я подумал что проблема в таймере.

Если проблема "четности" и правда в таймере, то это какая-то очень странная проблема, не правда ли? Тем более, что класс TTimer протестирован сотни тысяч раз еще со времен Delphi 1. И до сих пор работал нормально. У всех.

Так что поневоле напрашивается другое предположение - что проблема все же не в таймере, а в другом коде. Который было бы неплохо видеть, иначе нельзя сказать ничего определенного.


 
NikeOLD   (2004-08-24 16:09) [2]

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



Страницы: 1 вся ветка

Текущий архив: 2005.08.21;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.025 c
3-1121323310
Max4
2005-07-14 10:41
2005.08.21
Редактирование записи.


14-1122376452
BiN
2005-07-26 15:14
2005.08.21
За использование смайликов придется платить Microsoft


5-1093596786
Salivan
2004-08-27 12:53
2005.08.21
TTreeView + MultiSelect ? это возможно?


4-1120111340
Mishenka
2005-06-30 10:02
2005.08.21
Работа с двумя CDRom ами


1-1122893881
surkis
2005-08-01 14:58
2005.08.21
create Sub menu Popupmenu