Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.03.13;
Скачать: 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 вся ветка

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

Наверх




Память: 0.48 MB
Время: 0.054 c
4-1106830244
Rams
2005-01-27 15:50
2005.03.13
Hook на открытие файла


1-1109502653
eX
2005-02-27 14:10
2005.03.13
Проблема с Tchart


9-1102690640
WandR
2004-12-10 17:57
2005.03.13
GLScene 3ds и большие тормоза


14-1108658656
kai
2005-02-17 19:44
2005.03.13
максимальный размер файла под ntfs 2k, xp


1-1109325312
denis24
2005-02-25 12:55
2005.03.13
Неявное обращение к Stringlist