(прошу прощения, что так размусоливаю свой вопрос - просто хочу избежать наводящих вопросов и может быть сам чегой-то пойму по ходу изложения:))
После перевода проекта с D5 на D2006 нарисовался глюк отображения обNULLения lookup-полей
Накидав на форму стандартных компонент
TDataBase (ибо проект наш разрабатывался давно и работает под BDE), TTable (ибо кому-то пришло в голову написать свой датасет наследник от TDataSet)
TDBEdit (потому именно они юзаются)
TdxDBEdit (аналогично и для сравнения)
TDBText (для проверки)
Существует DatasetMain.
В нем присутствуют поля:
Uid - айди записи,
URefId - ссылка на справочник (DataSetSecond)
URefText - lookup-поле, значение которого подсасыватся из DataSetSecond
Всё это лежит на формочке редактирования одной конкретной записи
проявилась следующая ситуация:
URefText выводится через TDBEdit. Заполнение происходит по кнопочке (вызывается справочник, выбирается запись, присваивается айдишник, lookup подхватывает текст) - всё работает как нужно и как было под D5
Для удаления значения отрабатывается TDBEdit.OnKeyDown и айдишнику URefId присваивается NULL. Так вот. Под D2006 айдишник принимает (присваиваемое ему программно) значение NULL. Значение lookup-поля также становится NULL, но визуально оно обнуляется лишь после того как DBEdit теряет фокус. Табом мля с него ушли и только после этого видно что там таки да пустое значение. С TdxDBEdit та же мулька
Если к полю прикрутить скажем TDBText, то его содержимое в принципе изменится только после Post
Сталкивался ли кто-либо с подобным и что собственно рабить:)?