Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Компоненты Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 14.12.2009, 13:40   #1
joker
Форумчанин
 
Регистрация: 23.09.2007
Сообщений: 147
По умолчанию DBLookUpCombobox эксепшн на Insertе с KeyValue назначенной вручную

Про устройство есть карточка для редактировании ячейки таблички, в ней кол-во DbLookupComboboxов равное кол-ву полей, есть один CardDataSource на карточку - он в св-ве DataSource у каждого dblookupcomboboxа, для каждого комбобокса создается свой ListSource у которого в DataSet своя отдельная Query, Insert соответственно производится вызовом CardDataSet.Insert() (CardDataSet - это TIbDataSet в св-ве DataSet у CardDataSource)

На CardDataSet.Insert() при наличии дефолтных значений у двух полей (X, Y поля отчета), то есть у двух DBLookUpComboboxов заранее установленные валидные KeyValue и их Enabled = false выдает ошибку вида field '<name_of_the_field>' must have a value. Что интересно при Post() такого не происходит и данные доходят нормально.

Как решить подобную проблему? Клики мышкой в области предлагать только если иначе никак (вроде бы пробовал сообщение о нажатии мышкой отправлять, мне говорили что нельзя, исключение выдавалось, может я тогда при Enabled = false делал), а вообще компонент достаточно закрытый и достать оттуда что-нить сложно (Text и куча другого read only или private)

P.S. еще пробовал перед Insert FieldByName('<field_name>').Value присваивать соответствующие Value но на Инсерте все равно ошибка (эксепшн)
Я надеваю тапочки, ищу чем похмелиться, ах, если я сейчас умру, то на... я родился
joker вне форума Ответить с цитированием
Старый 14.12.2009, 14:19   #2
mihali4
*
Старожил
 
Регистрация: 22.11.2006
Сообщений: 9,201
По умолчанию

А текст "у двух DBLookUpComboboxов" высвечивается или они пустые стоят?
Думается, что как раз из-за их Enabled = false и выдает ошибку...

З.Ы. У меня 7-ка, так что по поводу 2006-й не помогу...

Последний раз редактировалось mihali4; 15.12.2009 в 13:49.
mihali4 вне форума Ответить с цитированием
Старый 15.12.2009, 07:23   #3
joker
Форумчанин
 
Регистрация: 23.09.2007
Сообщений: 147
По умолчанию

текст высвечивается, то есть компонент понимает что надо отбражать что как будто что-то выбрали, но вот на именно инсерте говорит что ничего не знаю, поле не найдено. Дело не в Enabled точно, проверял.

А вообще подскажите как заставить Delphi 2006 заходить (останавливаться на) брейпоинтах ил эксепшенах такого рода. Был бы очень признателен, ибо кучу раз видел в нете отсылы к Дельфи7 и соответсвующему пункту настроек, а вот применительно к 2006ой не нашел.
Я надеваю тапочки, ищу чем похмелиться, ах, если я сейчас умру, то на... я родился

Последний раз редактировалось joker; 15.12.2009 в 08:18.
joker вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вычисление квадратного корня вручную 6AZblJlb Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 8 16.11.2011 04:02
Вручную собрать проект C++ Builder dcLout Софт 0 14.10.2009 13:35
PostMessage программно и вручную YuraL Win Api 5 12.03.2009 07:54
Как вручную перемещать индикатор в DBGrid PilGrim БД в Delphi 5 04.01.2009 18:43
Копирование *.exe вручную v01umE Общие вопросы C/C++ 4 06.07.2008 20:06