> "Константин" ...
> Читал статью http://ibase.ru/devinfo/udf_ok.htm раздел блобы
>
>
> TBLOb = record
> GetSegment: function(Handle: Pointer; Buffer: PChar; MaxLength: Long; var
ReadLength: Long): WordBool; cdecl;
> Handle: Pointer; // BLOb handle
> SegCount, // Number of BLOb segments
> MaxSegLength, // Max length of BLOb segment
> TotalLength: Long; // Total BLOb length
> PutSegment: procedure(Handle: Pointer; Buffer: PChar; Length: Long);
cdecl;
> // Seek: function: Long; cdecl; // Я не знаю входные параметры...
>
> Именно последняя строчка мне очень нужна :(
ibase.h :
/* This enum applies to parameter "mode" in blob_lseek */
enum blob_lseek_mode {blb_seek_relative = 1, blb_seek_from_tail = 2};
typedef struct blobcallback {
short (*blob_get_segment)
(void* hnd, ISC_UCHAR* buffer, ISC_USHORT buf_size, ISC_USHORT*
result_len);
void* blob_handle;
ISC_LONG blob_number_segments;
ISC_LONG blob_max_segment;
ISC_LONG blob_total_length;
void (*blob_put_segment)
(void* hnd, const ISC_UCHAR* buffer, ISC_USHORT buf_size);
ISC_LONG (*blob_lseek)
(void* hnd, ISC_USHORT mode, ISC_LONG offset);
} *BLOBCALLBACK;
> Необходимо создать набор UDF для быстрой работы с массивом Int64 ...
> Как всегда надо было сделать ещё вчера ... :(
>
> И как раз эта функция очень нужна ...
> Насколько я путаю именно после вызова этой функции "Курсор"
> переместится по BLOB и функции GetSegment или PutSegment,
> след. за ней, считает именно начиная с этого места BLOB ?
Только GetSegment. Seek во временных блобах (а только в них
можно писать) не реализован.
--
Хорсун Влад