Вниз
Скачать: CL | DM;

один TStrings   Найти похожие ветки 

 
akvilon ©   (2005-02-25 00:06) [0]

Здравствуйте,
как заставить различные TComboBox, TListBox и пр. использовать один TStrings, общий, то есть один набор строк
по идеи надо в items поместить указатель на один и тот же TStrings, но как это сделать, если при присваивании items выполняется Assign()


 
Palladin ©   (2005-02-25 00:22) [1]

Не получится. Если TListBox еще способен работать в режиме OwnerData. То TComboBox нет.


 
akvilon ©   (2005-02-25 00:33) [2]

это плохо :(, для меня это ведет к неизбежному дублированию большого количества одной и той же информации, которую всего лишь удобно показать в двух-трех местах программы (в двух-трех T_Box"ах)

а по отдельности для TListBox"ов и TComboBox"ов это возможно?


 
iskatel ©   (2005-02-25 00:33) [3]

2akvilon а оно тебе надо? задача то какая, чтоб изменялись синхронно? ну и пусть их будет два, нкапиши обработчик он чендж и синхронизируй (например просто свойство текст одного = текст другого)


 
akvilon ©   (2005-02-25 00:43) [4]

2 iskatel
дело в том, что в них записывается инфа из БД и совсем не маленького размера, при чем измениться она может не только добавлением новых строк в те или иные items

встает проблема синхронизации не отдельных боксов между собой, а каждого из них с БД

да и спортивная жилка заела :), лишние расходы памяти, причем очевидные


 
iskatel ©   (2005-02-25 00:57) [5]

странно это, на кой х держать 2 одинаковых списка, и какой юзер будет выбирать чтото в комбобоксе "совсем не маленького размера" да и для работы с БД свои контролы есть, которые данные прям из БД и берут, а не из TStrings


 
Poirot ©   (2005-02-25 14:16) [6]

Ну вот если посмотреть на эту штучку, то впринципе можно организовать то, что ты хочешь:)
ЗЫ: Это только предположение на первый взгляд:)

procedure TCustomCombo.SetItems(const Value: TStrings);
begin
 if Assigned(FItems) then
   FItems.Assign(Value)
 else
   FItems := Value;
end;


 
КаПиБаРа ©   (2005-02-25 14:21) [7]

akvilon ©   (25.02.05 0:43) [4]
Данные из БД нужно выводить в DBCombobox, DBLookupCombobox, DBListBox.



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

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.023 c
1-1109510519
Генри
2005-02-27 16:21
2005.03.13
Поиск файла по его содержимому


1-1109006380
Alek
2005-02-21 20:19
2005.03.13
Фреймы из длл


1-1109274151
Генри
2005-02-24 22:42
2005.03.13
Как разбить файл на части, а потом его собрать?


14-1108746617
arhis
2005-02-18 20:10
2005.03.13
Консистенция, мать её, сметаны


4-1106789720
Strech
2005-01-27 04:35
2005.03.13
Версия программы




   Наверх