Конференция "Компоненты" » TComboBox vs PStrings [D7, WinXP]
 
  • KIR@PRO (13.09.11 10:28) [0]
  • DimaBr © (13.09.11 11:35) [1]
    Это попахивает Lookup-ом
  • KIR@PRO (13.09.11 12:10) [2]
    эммм... поподробней можно пожайлуста ... может есть мысли как реализовать эту задачу другими споссобами, какими либо аналогами ComboBox?
  • Медвежонок Пятачок © (13.09.11 13:10) [3]
    Это сколько же надо иметь комбобоксов на форме, чтобы получить заметный выигрыш по памяти с общим TStrings?
  • Омлет © (13.09.11 14:36) [4]
    Задача бредовая. Скорее всего - ошибка проектирования.
  • KIR@PRO (13.09.11 14:47) [5]
    ну примерно 4 группы по 20 ComboBox'ов у каждой группы своий Tstrings
    примерно по 200-400 строк каждый.... выигрыш не только в памяти!!! выигрышь в производительности... Tstrings часто будут менятся представьте сколько нужно проделать чтоб во все 80 ComboBox"а запихать новый TStrings...

    2Омлет если человек не может сделать компонент не означает что он плохо проектирует....
  • Омлет © (13.09.11 15:03) [6]
    4 группы по 20 ComboBox'ов в которых 200-400 строк (причем, одних и тех же) - это, скорее всего, и есть ошибка проектирования бизнес-процесса и/или пользовательского интерфейса.
    Для какой цели такая жуткая форма?
  • Медвежонок Пятачок © (13.09.11 15:19) [7]
    выигрыш не только в памяти!!! выигрышь в производительности...

    Кто бы мог подумать......
    Еще и в производительности выигрышь

    Tstrings часто будут менятся представьте сколько нужно проделать чтоб во все 80 ComboBox"а запихать новый TStrings...


    Зашибись.
    А если он будет один, то его рендерить во всех 80 комбиках конечно же не надо.
  • Медвежонок Пятачок © (13.09.11 15:22) [8]
    сколько нужно проделать чтоб во все 80 ComboBox"а запихать новый TStrings...

    Ну и скока?
    Померяй.
    Не на восьмидесяти, а на сотне комбобоксов.
    И не с 400 строками, а с шестьюстами.

    скока миллисекунд получится?
  • DiamondShark © (13.09.11 18:35) [9]
    Не получится выигрыша ни в скорости, ни в памяти.
    Посмотри исходник TComboBox. Его TStrings ничего не хранит, а для записи/чтения строк просто шлёт сообщения подлежащему виндовому контролу.
    Так что как ни крути, а если ты используешь стандартный виндовый комбобокс, то у тебя всё равно рано или поздно всплывёт переписывание строк в контрол вызовами SendMessage.
 
Конференция "Компоненты" » TComboBox vs PStrings [D7, WinXP]
Есть новые Нет новых   [118476   +38][b:0][p:0]