function TUIBLibrary.BlobGetSegment(var BlobHandle: IscBlobHandle; out
length: Word;
BufferLength: Cardinal; Buffer: PChar): boolean;
var
AStatus: ISCStatus;
begin
if BufferLength > High(Word) then
BufferLength := High(Word);
{$IFDEF UIBTHREADSAFE}
FLIBCritSec.Enter;
try
{$ENDIF}
AStatus := isc_get_segment(@FStatusVector, @BlobHandle, @length,
Word(BufferLength), Buffer);
{$IFDEF UIBTHREADSAFE}
finally
FLIBCritSec.Leave;
end;
{$ENDIF}
Result := (AStatus = 0) or (FStatusVector[1] = isc_segment);
if not Result then
if (FStatusVector[1] <> isc_segstr_eof) then
CheckUIBApiCall(AStatus);
end;
тут проверяют...