Попробовал тут портировать старый проект c xe на xe6.
Поля типа TVariantField в TMemtableEh не работают в Delphi XE6 В Delphi XE все нормально.
Создайте новый проект (обычный VCL Form Application), бросьте на форму TDBGridEh, TDataSource и TMemTableEh Соедините их между собой Создайте поле типа TMTVariantDataFieldEh в TMemTableEh Создайте дата сет "Create DataSet" Выставите свойство TMemTableEh Active=true Запустите получившееся приложение Если попытаться редактировать в гриде поле типа TMTVariantDataFieldEh после выхода из режима редактирования, поле очищается. Обращения из кода к такому полю: Даже если что то записать в это поле через memtable1.rec.Value[0, DvvValueEh] (так нормально записывается и читается, кстате), то чтение Memtable1.Fields[0].Value всегда возвращает null (это я думаю корень проблемы) Если в design time попытаться завести данные в таблицу, через вкладку "Edit Data", что то вводить в это поле, тоже самое, после выхода из режима редактирования - пустое поле, но при этом все же похоже что то записывается, потому что, если оставить несколько таких строк и запустить проект вываливается куча ошибок.
Все это актуально для версии EhLib 6.3.182 Delphi XE6 В delphi XE все нормально работает.
|