Экспертная система Delphi.int.ru

Сообщество программистов
Общение, помощь, обмен опытом

Логин:
Пароль:
Регистрация | Забыли пароль?

Delphi.int.ru Expert

Другие разделы портала

Переход к вопросу:

#   

Статистика за сегодня:  


Лучшие эксперты

Подробнее »



Вопрос # 6 225

/ вопрос открыт /

Приветствую, уважаемые эксперты!
Хочу написать компонент на базе TTreeview для работы с иерархическими структурами. Хочу при подключении компонента типа TAdoConnection вывести в свойстве "Имя таблицы" перечень таблиц по базе. Не могу добиться выпадающего списка в окне свойств компонента. Получала список, записывала его в свойство Tstrings. Список таблиц виден, но как сделать выбор для свойства string не могу додуматься...

Ak_el_a Вопрос ожидает решения (принимаются ответы, доступен мини-форум)

Вопрос задала: Ak_el_a (статус: Посетитель)
Вопрос отправлен: 16 июля 2012, 20:59
Состояние вопроса: открыт, ответов: 0.


Мини-форум вопроса

Всего сообщений: 4; последнее сообщение — 20 июля 2012, 09:09; участников в обсуждении: 2.
Ak_el_a

Ak_el_a (статус: Посетитель), 17 июля 2012, 16:25 [#1]:

Еще меня интересует как задать порядок установки свойств.
У меня есть следующие свойства в компоненте

published
{ Published declarations }
property InConnection: TADOConnection read FGetConnection write FSetConnection;

Property InTbllist: tstrings read FInTblList write FInTblList;
property InFieldList: tstrings read FInFieldList write FInFieldList;
property InTbl: string read FInTbl write SetFInTbl;
property InFieldId: string read FInFieldId write SetFInFieldId;
property InFieldParentId: string read FInFieldParentId write
SetFInFieldParentId;
property InFieldName: string read FInFieldName write SetFInFieldName;
property PopupMenu;
property StartView: boolean read FStartView write SetStartView default false;


Мне нужно сначала установить свойство InConnection, а только после InTbl, InFieldId,InFieldParentID, InFieldName.
Однако при запуске проекта с этим компонентом сначала идет установка свойств InTbl, InFieldId,InFieldParentID, InFieldName и только после этого InConnection. Это категорически не правильно. Как изменить порядок установки свойств?
Вадим К

Вадим К (статус: Академик), 19 июля 2012, 11:11 [#2]:

Ваш код не должен полагаться на порядок установки свойств.
Но если все таки нужен спецпорядок, то тогда просто нужно написать правильно. К примеру, если устанавливается свойство InTbl, а InConnection ещё не установлен, то код должен отметить себе где то, что он находиться в промежуточном состоянии (ожидание инициализации). И когда пользователь применит свойство InConnection, проставить все другие.
Галочка "подтверждения прочтения" - вселенское зло.
Ak_el_a

Ak_el_a (статус: Посетитель), 20 июля 2012, 09:05 [#3]:

Я так в итоге и сделала. А как насчет создания перечисляемого свойства. Как отобразить список таблиц в редакторе свойства InTbl (что бы был выпадающий список для выбора)?
Ak_el_a

Ak_el_a (статус: Посетитель), 20 июля 2012, 09:09 [#4]:

И еще - не получается затенить свойство PopupMenu. Контекстное меню у меня создается уже в компоненте. Объявила это свойство в published только для чтения. В итоге в конструкторе оно все равно отображается, но не устанавливается. Хотелось бы вообще убрать его из списка свойств.

Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.

Версия движка: 2.6+ (26.01.2011)
Текущее время: 31 марта 2023, 05:47
Выполнено за 0.02 сек.
Рейтинг@Mail.ru