Вниз
Скачать: 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.025 c
1-1109687774
Nes
2005-03-01 17:36
2005.03.13
Нелепый вопрос: Как сделать edit1.text все букву all caps


14-1108789700
begin...end
2005-02-19 08:08
2005.03.13
С Днём рождения! 19 февраля


11-1090665771
raize
2004-07-24 14:42
2005.03.13
FTP сервер


1-1109750399
zorik
2005-03-02 10:59
2005.03.13
работа с Excel


3-1108198090
Troiki
2005-02-12 11:48
2005.03.13
Ошибка ADOQuery




   Наверх