Главная страница
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-1461222946
superbot
2016-04-21 10:15
2018.04.15
TreeView перетаскивание куста на куст


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


2-1460845875
Signal
2016-04-17 01:31
2018.04.15
Братцы как ускорить процесс?


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


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