|
|
|
Вопрос по проэктированию программы.
|
|||
|---|---|---|---|
|
#18+
Кратко опишу задачу. С оборубования поступает запрос на создание сессии и ожидает разрешения на продолжение своей работы. Каждая сессия имеет свой идентификатор. В течении работы сессия может измененять свое состояние как самостоятельно так и в ручную. Т.е. можно програмно посылать команды на оборудование. И при каждом изменении состояния посылается сообщение в программу. Все запросы асинхронные. Задача состоит в создании пользовательского интерфейса для управления этими сессиями. В качестве интструмента вабрано BCB 6. С точки зрения классов управления я сделал так. класс TSession с методами управления и описанием состояния. класс TDisplaySession с именем которое присвоил пользователь сессии, ну и возможна доп.инф. для определения отображения (например набор иконок, цвет, и т.д.) класс на основе list<TDisplaySession*> с методами поиска, вставки и удаления. Соответственно возникли вопросы: 1) Как увязать элементы интерфейса с объктами сессии? 2) Как отслеживать состояние сессии которое изменяется асинхронно. Например данный объект отображает одновременно ListBox, StringGrid и ProgressBar, состояние объекта изменилось. Сам объект понятия не имеет где он отображается и какие объекты на него ссылаються. 3) Как увязать друг с другом свойства DisplaySession и различные свойства Caption, Text, Color и т.д. оконных элементов? Пока вижу только вариант с написанием собственных компонент, но до этого я их не разе не писал и не очень хочется начинать сразу на рабочем проэкте в условиях малого кол-ва времени. Заранее благодарен за дельные советы. Удачи! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.11.2006, 15:51 |
|
||
|
|

start [/forum/topic.php?fid=57&msg=34112892&tid=2030091]: |
0ms |
get settings: |
6ms |
get forum list: |
9ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
146ms |
get topic data: |
6ms |
get forum data: |
2ms |
get page messages: |
20ms |
get tp. blocked users: |
1ms |
| others: | 196ms |
| total: | 390ms |

| 0 / 0 |
