Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2018.04.15;
Скачать: CL | DM;

Вниз

Наследник TDataSet и TField.IsNull   Найти похожие ветки 

 
Token   (2016-04-20 11:57) [0]

Создал наследника TDataSet для определенного формата файлов.
При вызове функции у поля Field.IsNull в функцию TDataSet.GetFieldData(Field: TField; Buffer: Pointer): Boolean; передается Buffer=nil. Как правильно на это отреагировать вернуть результат false; или true, но не заполняя buffer. Или может у меня где-то в другом месте сидит ошибка(что-то не перекрыл, не дописал)?..
Так-то вроде работает все правильно, файлы читаются и пишутся через этот класс


 
sniknik ©   (2016-04-20 12:50) [1]

> Как правильно на это отреагировать вернуть результат false; или true
посмотреть как уже у других сделано, в "генофонд", а он при значении null в AsBoolean возвращает false.


 
Token   (2016-04-20 13:18) [2]

В том-то и проблема, что  GetFieldData скрыта за драйвером БД, не посмотреть как проводится проверка на Buffer=nil


 
Token   (2016-04-20 13:25) [3]

Ступил, начал в глубь рыть, а решение на поверхности

function TField.GetIsNull: Boolean;
begin
 Result := not GetData(TValueBuffer(nil));
end;


 
Token   (2016-04-20 13:28) [4]

Т.е. если даже некуда писать данные, но они есть надо возвращать true.


 
имя   (2016-04-21 14:53) [5]

Удалено модератором


 
имя   (2016-04-21 15:05) [6]

Удалено модератором


 
имя   (2016-04-21 15:32) [7]

Удалено модератором



Страницы: 1 вся ветка

Текущий архив: 2018.04.15;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.003 c
2-1461228352
vegarulez
2016-04-21 11:45
2018.04.15
Как передать массив в Поток?


15-1471650152
KilkennyCat
2016-08-20 02:42
2018.04.15
Особенности работы движков баз данных и правила работы с ними.


15-1472074202
Юрий
2016-08-25 00:30
2018.04.15
С днем рождения ! 25 августа 2016 четверг


15-1472110107
DayGaykin
2016-08-25 10:28
2018.04.15
Целочисленный MulDiv


15-1472001430
pavelnk
2016-08-24 04:17
2018.04.15
Сайт на английском