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

Вниз

Использование Thread при обновлении состояния Action ов   Найти похожие ветки 

 
Tamagoci   (2004-05-13 15:25) [0]

Здравствуйте, Мастера.

Проблемы на основном форуме - задам вопрос здесь.

Наверное, все видели в Word такую штуку: к примеру, когда текст выделен кнопка "Копировать" включена, когда не выделен - нет. Хочу сделать нечто подобное в своей программе - т.е в зависимости от некоего условия какой-либо action принимает соответствующее состояние (включен/выключен). Сначала пробовал вешать это на определенные события, но при этом резко упала производительость. Пришла мысль - использовать для обновления состояние Thread. Сделал, протестировал - работает. А вопрос вот в чем - имеет ли смысл/правильно/можно ли использовать для подобных целей Thread? Заранее благодарен.


 
Digitman ©   (2004-05-13 16:05) [1]


> Сначала пробовал вешать это на определенные события, но при этом резко упала производительость
> Пришла мысль - использовать для обновления состояние Thread


с каких это пор использование доп.код.потоков повышает производительность ? на чем основана сия гениальная мысль ?


 
Тимохов ©   (2004-05-13 16:08) [2]

Работает?
Ну-ну.
Долго ли это будет продолжаться.

Если падает производительность (да еще и резко) при обновлении в OnUpdate, значит там алгоритмическая ошибка.


 
Игорь Шевченко ©   (2004-05-13 16:20) [3]


> Наверное, все видели в Word такую штуку: к примеру, когда
> текст выделен кнопка "Копировать" включена, когда не выделен
> - нет. Хочу сделать нечто подобное в своей программе - т.е
> в зависимости от некоего условия какой-либо action принимает
> соответствующее состояние (включен/выключен).


TAction.OnUpdate решит эту проблему, так как вызывается в Application.Idle, соотвественно, производительность не падает.


 
Tamagoci   (2004-05-13 16:30) [4]

2 Digitman ©   (13.05.04 16:05) [1]
> на чем основана сия гениальная мысль ?

На пустом месте. Потому и вопрос задал - сам ответа не знаю.

2 Тимохов ©   (13.05.04 16:08) [2]
2 Игорь Шевченко ©   (13.05.04 16:20) [3]

Огромное спасибо.


 
Тимохов ©   (2004-05-13 16:35) [5]


> Tamagoci   (13.05.04 16:30) [4]

И за что нам спасибо?
Вы же сами сказали, что
> Сначала пробовал вешать это на определенные события

значит вы про OnUpdate знали...
Или вы как-то по-другому делали?


 
Digitman ©   (2004-05-13 16:35) [6]


> Tamagoci   (13.05.04 16:30) [4]


использование доп.трэдов позволяет распараллелить длительные вычисления .. и не более того


 
Tamagoci   (2004-05-13 16:41) [7]

2 Тимохов ©   (13.05.04 16:35) [5]
> И за что нам спасибо?

За ответ.

> Вы же сами сказали, что
>> Сначала пробовал вешать это на определенные события
> значит вы про OnUpdate знали...

Стыдно. Не знал. Ранее не сталкивался с подобной задачей - начинающий.

> Или вы как-то по-другому делали?

Да, по-другому. Описывать не буду - понимаю что мой старый способ аналогичен чесанию левого уха правой рукой через голову.

2 Digitman ©   (13.05.04 16:35) [6]

Спасибо за объяснение.


 
Cobalt ©   (2004-05-13 22:42) [8]

> чесанию левого уха правой рукой через голову.
Кстати  - очень удобно! :)



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

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

Наверх




Память: 0.49 MB
Время: 0.03 c
6-1081396969
valex1
2004-04-08 08:02
2004.05.30
Отправка через MicroSoft Outlook


7-1082527357
defen
2004-04-21 10:02
2004.05.30
Wunexec


7-1082622973
serg128
2004-04-22 12:36
2004.05.30
Как сохранять всё, что печатается на принтере?


1-1084892061
NoName
2004-05-18 18:54
2004.05.30
Перевод из WORD в String


1-1084608983
AlexZ_CRC
2004-05-15 12:16
2004.05.30
Fofm1.Button*.Caption:=massiv[i];