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

Вниз

Смысл типа TVarBytesField   Найти похожие ветки 

 
programmer1 ©   (2002-02-12 10:22) [0]

Уважаемые коллеги, скажите, пожалуйста, что означает тип поля TVarBytesField, какого типа данные можно в нем хранить. В книге Фаронова написано:
"Поле TVarBytesField содержит произвольное значение длиной до 65535 байт. Текущая длина хранится в первых двух байтах и может быть получена с помощью свойства Datasize"
Поясните мне, пожалуйста, смысл этих магических слов!


 
Digitman (M) ©   (2002-02-12 12:24) [1]

TVarBytesField - класс, инкапсулирующий ф-ции управления полями объектов БД, предназначенными для хранения данных переменной длины, не превышающей 64кб. В полях такого типа физически хранятся не только сами данные, но и инф-ция о реальном их размере. Вот этот самый реальный размер и представлен св-вом Datasize.
Когда в поле такого типа записываются некие данные (в виде блока последовательных байт), то сначала записывается размер блока (те самые первые первые 2 байта), а затем записывается собственно блок.
Когда из поля такого типа считываются ранее записанные туда данные, то сначала считываются первые 2 байта (их значение, интерпретируемое как WORD, становятся зн-ем св-ва TVarBytesField.Datasize), а затем в выделенный буфер размером в Datasize + 2 считываются данные, включая первые служебные 2 байта. Т.е. в буфере данных такого поля по смещению +0 хранится слово, значение которого информирует о размере собственно данных, по смещению +2 - собственно блок данных указанного по смещению +0 размера (в байтах).


 
Programmer1 ©   (2002-02-14 11:26) [2]

Спасибо за полный ответ.



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

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

Наверх




Память: 0.47 MB
Время: 0.012 c
1-9217
fixxxer
2002-02-14 19:58
2002.03.04
Как делается Help


3-9049
sd
2002-02-06 07:47
2002.03.04
Возврат значений из скрипта.


3-9091
ava
2002-02-06 16:53
2002.03.04
Помогите срочно надо


3-9078
Jhonny
2002-02-07 07:07
2002.03.04
Максимальное значение кода в базе данных


1-9161
vic_774N
2002-02-13 20:51
2002.03.04
как получить интерфейс IUnknown