Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

ComboBox


Страницы:   1 2 3

Alex8 ©   (2008-04-01 12:31:00) 

Уважаемые мастера !
Помогите, пожалуйста, разобраться в следующей ситуации.
 Выпадающий список компонента ComboBox формируется при
открытии формы в процедуре FormActivate() Посредством
cmb.Item.Add();
  Дальше. Если мои действия стандартны (т.е. кликаю
кнопку списка, а затем выбираю одну из его позиций),
то все нормально.
  А вот если после раскрытия списка кликнуть в любом
пустом месте формы (вне списка), то взникает исключение
непонятно к чему относящееся.
  Текст сообщения следующий:
" 65536 is not a valid value for field 'iKod'.
 The allowed range is -32768 to 32767"

 При этом все это происходит только с тем ComboBox'ом,
Список которого формируется в процедуре FormActivate().
Остальные ComboBox этой формы работают нормально.
Кликай где угодно-никаких исключений.
 Пробовал остановиться по событию OnClick - не останавливается.
я в полной растеряности. Спасибо


tesseract   (2008-04-01 13:21:00) [41]


> а в том, что в поле смалинт попадает itemindex при уходе
> с комбо. а это -1.


Smallint не понимает -1, может word  ? Возможно только если одно значение знаковое (iKOD), а другое не очень. И  только если в беззнаковое предварительно попадёт -1, а потом будет приравнено к знаковому


> 65536 это -1 по-русски.


Только для word справедливо.


{RASkov}   (2008-04-01 13:18:00) [42]

> [9] Reindeer Moss Eater ©   (01.04.08 13:08)
> проблема-то не в событиях, а в том, что в поле смалинт попадает
> itemindex при уходе с комбо. а это -1

В каком поле? :) У Комбобокса полей как таковых нет)
Это понятно что -1 кудато попадает, но где это может попадать? В реализации обработчиков событий комбика)...


Reindeer Moss Eater   (2008-04-01 13:08:00) [43]

проблема-то не в событиях, а в том, что в поле смалинт попадает itemindex при уходе с комбо. а это -1.


Сергей М.   (2008-04-01 13:06:00) [44]


> FormCreate, как я и опасался, показал, что список формируется
> раньше создания самого ComboBox


Момент формирования списка тебе полностью подконтролен.


> Не добавлять же кнопку создания
> списка


Конечно, не не нужна она.
Такая кнопка уже есть - кнопка открытия выпадающего списка комбобокса, при нажатии на которую возбуждается событие OnDropDown


{RASkov}   (2008-04-01 13:05:00) [45]

> [5] Alex8   (01.04.08 13:01)

Какие обработчики задействованы у данного комбобокса? Возможно в них ошибка, раз говоришь наполнение проходит нормально и уже при раскрытии и "не правильном" закрытии - ошибка.


oldman   (2008-04-01 13:03:00) [46]


> Выпадающий список компонента ComboBox формируется при
> открытии формы в процедуре FormActivate()


ЗАЧЕМ??????????


Alex8   (2008-04-01 13:01:00) [47]

> Используй FormShow или FormCreate. Activate тебе задолбает.

FormShow дает тот же результат.
FormCreate, как я и опасался, показал, что список формируется
               раньше создания самого ComboBox

> При бездумном использовании хрен редьки не слаще будет
 Так, что сделать, если подумать? Не добавлять же кнопку создания
списка.


Сергей М.   (2008-04-01 12:38:00) [48]


> tesseract ©   (01.04.08 12:33) [1]



> Используй FormShow


При бездумном использовании хрен редьки не слаще будет)


Reindeer Moss Eater   (2008-04-01 12:35:00) [49]

65536 это -1 по-русски.
точнее -1 это 65536, которое не влазит в смалинт.


Сергей М.   (2008-04-01 12:35:00) [50]


> ComboBox формируется при
> открытии формы в процедуре FormActivate()


А теперь подумай головой, что произойдет, если это событие будет возбуждено неоднократно в ходе работы твоего приложения.


tesseract   (2008-04-01 12:33:00) [51]


> Список которого формируется в процедуре FormActivate().


Используй FormShow или FormCreate. Activate тебе задолбает.


> " 65536 is not a valid value for field 'iKod'.  The allowed
> range is -32768 to 32767"


Поле Smallint у тебя наверно с адской скоростью заполняеться..


Страницы:   1 2 3

Наверх

Титульная страница Поиск, карта сайта Написать письмо