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

Вниз

Какой способ самый оптимальный?   Найти похожие ветки 

 
Igor_thief ©   (2004-02-21 11:08) [0]

Задача: есть форма на которой «лежат» 2 ListBox и 6 Button’ов(по три для каждого листбоха). При работе программы надо делать эти кнопки доступными (enabled) или не доступными в зависимости от обстоятельств. Вот мы и подошли к способам.
Первый: можно написать процедуру, в которой проверять все обстоятельства и как результат делать нужные кнопки Enabled = true.
Второй: к каждой кнопке привязать Action и в OnActionUpdate проверять условие которое интересует только эту кнопку и устанавливать кнопке нужный статус.
В первом случае мы просто выполняем лишние проверки, например: выделен элемент первого листбокса и соответственно надо работать только с двумя кнопками относящимися к первому листбоху и одной ко второму, а не всеми 6, но в процедуре проверяются все обстоятельства.
Во втором случае Update работает как таймер и выполняет проверку нужных кнопок постоянно, плюс код загромождается 6-ю (ну или немного меньше) процедурами Update.


 
Никто   (2004-02-21 17:56) [1]

Привяжи OnUpdate всех Action"ов к одному методу.


 
Igor_thief ©   (2004-02-21 18:09) [2]

Никто   (21.02.04 17:56) [1]
Дело не в том, сколько чего к чему превязать. Дело в том, чтобы определить какой метод оптимальней по всем параметрам.


 
Гаврила   (2004-02-21 18:34) [3]

я пишу обычно по варианту 1
быстродействие от этого ощутимо не меняется, а код менее загроможден


 
DiamondShark ©   (2004-02-21 18:42) [4]

А почему бы TActionList.OnUpdate не использовать?


 
Igor_thief ©   (2004-02-25 14:17) [5]

DiamondShark ©   (21.02.04 18:42) [4]
А как тебе нравиться отлаживать прогу при использывании OnUpdate?



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

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

Наверх




Память: 0.48 MB
Время: 0.056 c
1-1078420529
Sphinx
2004-03-04 20:15
2004.03.28
Установщики


14-1078228066
TALLA
2004-03-02 14:47
2004.03.28
Почему из Execute при вызове DdeClientConv1.SetLink( a , b )


4-1073900515
NikeOLD
2004-01-12 12:41
2004.03.28
Создание расписания в программе (планировщика)


1-1078904652
Карелин Артем
2004-03-10 10:44
2004.03.28
Существует ли свойство у компонента?


14-1077888387
neodiX
2004-02-27 16:26
2004.03.28
Internet lines overbooking