|
Вопрос # 6 225/ вопрос открыт / |
|
Приветствую, уважаемые эксперты!
Хочу написать компонент на базе TTreeview для работы с иерархическими структурами. Хочу при подключении компонента типа TAdoConnection вывести в свойстве "Имя таблицы" перечень таблиц по базе. Не могу добиться выпадающего списка в окне свойств компонента. Получала список, записывала его в свойство Tstrings. Список таблиц виден, но как сделать выбор для свойства string не могу додуматься...
 |
Вопрос задала: Ak_el_a (статус: Посетитель)
Вопрос отправлен: 16 июля 2012, 20:59
Состояние вопроса: открыт, ответов: 0.
|
Мини-форум вопроса
Всего сообщений: 4; последнее сообщение — 20 июля 2012, 09:09; участников в обсуждении: 2.
|
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 (статус: Посетитель), 20 июля 2012, 09:05 [#3]:
Я так в итоге и сделала. А как насчет создания перечисляемого свойства. Как отобразить список таблиц в редакторе свойства InTbl (что бы был выпадающий список для выбора)?
|
|
Ak_el_a (статус: Посетитель), 20 июля 2012, 09:09 [#4]:
И еще - не получается затенить свойство PopupMenu. Контекстное меню у меня создается уже в компоненте. Объявила это свойство в published только для чтения. В итоге в конструкторе оно все равно отображается, но не устанавливается. Хотелось бы вообще убрать его из списка свойств.
|
Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.
|