Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2005.03.13;
Скачать: [xml.tar.bz2];

Вниз

один 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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.036 c
6-1104859757
Lucifer
2005-01-04 20:29
2005.03.13
Создание LAN Chat a


1-1109423217
Толян
2005-02-26 16:06
2005.03.13
клиент сервер по базе данных


3-1108144152
Oleg_
2005-02-11 20:49
2005.03.13
как после открытия query указать что некоторое поле вычисляемое?


1-1109576141
dm37
2005-02-28 10:35
2005.03.13
RichEdit


1-1109510519
Генри
2005-02-27 16:21
2005.03.13
Поиск файла по его содержимому





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский