Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Потрепаться";
Текущий архив: 2004.05.30;
Скачать: [xml.tar.bz2];

Вниз

Использование 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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.46 MB
Время: 0.034 c
8-1079855856
BenderLog
2004-03-21 10:57
2004.05.30
Как уменьшить размер графического файла?


1-1084751122
AlexNord
2004-05-17 03:45
2004.05.30
Drag


1-1084610801
fish
2004-05-15 12:46
2004.05.30
Загрузка программы


4-1081638815
Gott
2004-04-11 03:13
2004.05.30
Уникальное сообщение


14-1083933763
Nick-From
2004-05-07 16:42
2004.05.30
Застрял на запросе





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский