|
@@ -2089,8 +2089,6 @@ function TCustomBufDataset.GetFieldData(Field: TField; Buffer: Pointer): Boolean
|
|
|
|
|
|
var
|
|
var
|
|
CurrBuff : TRecordBuffer;
|
|
CurrBuff : TRecordBuffer;
|
|
- BlobBuff : TBufBlobField;
|
|
|
|
- i : integer;
|
|
|
|
|
|
|
|
begin
|
|
begin
|
|
Result := False;
|
|
Result := False;
|
|
@@ -2112,24 +2110,6 @@ begin
|
|
|
|
|
|
If Field.FieldNo > 0 then // If =-1, then calculated/lookup field or =0 unbound field
|
|
If Field.FieldNo > 0 then // If =-1, then calculated/lookup field or =0 unbound field
|
|
begin
|
|
begin
|
|
- if (State <> dsOldValue) and Assigned(Buffer) and (Field is TBlobField) then
|
|
|
|
- for i := High(FUpdateBlobBuffers) downto Low(FUpdateBlobBuffers) do
|
|
|
|
- if Assigned(FUpdateBlobBuffers[i]) and
|
|
|
|
- (FUpdateBlobBuffers[i]^.FieldNo = Field.FieldNo) then
|
|
|
|
- begin
|
|
|
|
- // The right blob buffer:
|
|
|
|
- FillChar(BlobBuff, SizeOf(TBufBlobField),#0);
|
|
|
|
- if not GetFieldIsNull(pbyte(CurrBuff), Field.FieldNo-1) then
|
|
|
|
- begin
|
|
|
|
- inc(CurrBuff, FFieldBufPositions[Field.FieldNo-1]);
|
|
|
|
- Move(CurrBuff^, BlobBuff, SizeOf(BlobBuff.ConnBlobBuffer));
|
|
|
|
- end;
|
|
|
|
- BlobBuff.BlobBuffer := FUpdateBlobBuffers[i];
|
|
|
|
- Move(BlobBuff, Buffer^, SizeOf(TBufBlobField));
|
|
|
|
- Result := True;
|
|
|
|
- Exit;
|
|
|
|
- end;
|
|
|
|
-
|
|
|
|
if GetFieldIsNull(pbyte(CurrBuff),Field.FieldNo-1) then
|
|
if GetFieldIsNull(pbyte(CurrBuff),Field.FieldNo-1) then
|
|
Exit;
|
|
Exit;
|
|
if assigned(buffer) then
|
|
if assigned(buffer) then
|