Текущий архив: 2008.04.27;
Скачать: CL | DM;
Вниз
ComboBox Найти похожие ветки
← →
Германн © (2008-04-01 19:26) [40]
> Alex8 (01.04.08 19:15) [39]
>
> > Хоть раз уидешь 65536?
>
> В рассматриваемом случае ItemIndex=65536.
Врешь. Сам по себе temIndex не может получить такое значение.
← →
Alex8 (2008-04-01 19:41) [41]> Врешь. Сам по себе temIndex не может получить такое значение.
Ну что мне землю есть?
Прверил все в пошаговом режиме.
← →
{RASkov} © (2008-04-01 20:19) [42]> Ну что мне землю есть?
Вот ведь не везет людям :(
:)
← →
Сергей М. © (2008-04-02 10:39) [43]
> Alex8 (01.04.08 19:41) [41]
ССЗБ.
Есть же событие OnSelect !
В его обработчике и следует обращаться к ItemIndex.
← →
Alex8 (2008-04-02 11:52) [44]> Есть же событие OnSelect !
> В его обработчике и следует обращаться к ItemIndex.
Очень ценная мысль! Зачем onClozeUp-лишние хлопоты.
При OnSelect никаких блокировок не нужно. Этот обработчик
начинает работы только при допустимых значениях ItemIndex
Правильно?
Спасибо. Обязательно воспользуюсь.
← →
Сергей М. © (2008-04-02 12:08) [45]
> Этот обработчик
> начинает работы только при допустимых значениях ItemIndex
> Правильно?
Нет, не правильно.
Если у тебя в списке более 32767 элементов и ты щелкнул , например, на 32768-м, то ItemIndex в обработчике события вернет тебе именно 32768, в то время как соотв.поле НД у тебя имея тип SmallInt допускает значения в диапазоне -32768..32767, что, разумеется, вызовет проблемы.
← →
Alex8 (2008-04-02 14:52) [46]> Если у тебя в списке более 32767
Ну, это уже вопрос выбора типа данных.
Фактор размерности, конечно, надо учитывать.
И не только при работе с ComboBox.
← →
Сергей М. © (2008-04-02 15:16) [47]
> это уже вопрос выбора типа данных
Да нихрена это не вопрос выбора типа данных)
Это вопрос кол-ва записей в НД, по которому ты проходишь в цикле с целью заполнения своего комбобокса.
← →
Alex8 (2008-04-02 17:21) [48]> Это вопрос кол-ва записей
При большом числе записей я сделаю
i не SmallInt, а LongInt.
← →
Сергей М. © (2008-04-02 17:31) [49]
> При большом числе записей я сделаю
> i не SmallInt, а LongInt.
>
Причем здесь i ?
Да и какой тайный смысл объявлять сч-к цикла разрядностью меньшей, чем разрядность значения, возвращаемого св-вом RecordCount и ItemIndex ?
← →
Alex8 (2008-04-02 17:57) [50]> Причем здесь i ? [49]
> Сергей М. © (01.04.08 15:44) [30]
> А выводы отсюда давным давно озвучены в [3] и [9] : -1,
> пройдя какие-то несуразные приведения типа к Cardinal и
> получив при этом значение 65536, тычется в поле iKod, имеющее
> тип Smallint
Я что-то запутался. iKod - фактически № записи, определяемый своим
положением в исходном файле. Поэтому i и iKod величины одного порядка.
И если iKod (i) превосходят допустимые границы типа Smallint,
то сделав LongInt, я эти границы расширю.
← →
Сергей М. © (2008-04-02 21:01) [51]
> iKod - фактически № записи, определяемый своим
> положением в исходном файле
Какой еще нафих "исходный файл" ?
Нет никакого файла.
Есть НД, ты запрашиваешь его RecordCount, который заведомо integer.
Ты его с какого-то перепугу усекаешь до word. Вопрос - с какого конкретно перепугу ?)
Страницы: 1 2 вся ветка
Текущий архив: 2008.04.27;
Скачать: CL | DM;
Память: 0.56 MB
Время: 0.018 c