![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
один TStrings
akvilon © (2005-02-25 00:06:00)Здравствуйте,
как заставить различные TComboBox, TListBox и пр. использовать один TStrings, общий, то есть один набор строк
по идеи надо в items поместить указатель на один и тот же TStrings, но как это сделать, если при присваивании items выполняется Assign()
КаПиБаРа (2005-02-25 14:21:00) [1]akvilon © (25.02.05 0:43) [4]
Данные из БД нужно выводить в DBCombobox, DBLookupCombobox, DBListBox.
Poirot (2005-02-25 14:16:00) [2]Ну вот если посмотреть на эту штучку, то впринципе можно организовать то, что ты хочешь:)
ЗЫ: Это только предположение на первый взгляд:)
procedure TCustomCombo.SetItems(const Value: TStrings);
begin
if Assigned(FItems) then
FItems.Assign(Value)
else
FItems := Value;
end;
iskatel (2005-02-25 00:57:00) [3]странно это, на кой х держать 2 одинаковых списка, и какой юзер будет выбирать чтото в комбобоксе "совсем не маленького размера" да и для работы с БД свои контролы есть, которые данные прям из БД и берут, а не из TStrings
akvilon (2005-02-25 00:43:00) [4]2 iskatel
дело в том, что в них записывается инфа из БД и совсем не маленького размера, при чем измениться она может не только добавлением новых строк в те или иные items
встает проблема синхронизации не отдельных боксов между собой, а каждого из них с БД
да и спортивная жилка заела :), лишние расходы памяти, причем очевидные
akvilon (2005-02-25 00:33:00) [5]это плохо :(, для меня это ведет к неизбежному дублированию большого количества одной и той же информации, которую всего лишь удобно показать в двух-трех местах программы (в двух-трех T_Box'ах)
а по отдельности для TListBox'ов и TComboBox'ов это возможно?
iskatel (2005-02-25 00:33:00) [6]2akvilon а оно тебе надо? задача то какая, чтоб изменялись синхронно? ну и пусть их будет два, нкапиши обработчик он чендж и синхронизируй (например просто свойство текст одного = текст другого)
Palladin (2005-02-25 00:22:00) [7]Не получится. Если TListBox еще способен работать в режиме OwnerData. То TComboBox нет.