Bug in TBlob.SetAsBytes in Aurelius.Types.Blob.pas

There is a problem when using TBlob.

I think that there is a mistake in the length

The original procedure is

procedure TBlob.SetAsBytes(const Value: TBytes);
begin
  SetLength(FIntData, Length(Value));
  System.Move(Value[0], FIntData[0], Size);
  FLoaded := True;
end;

It should be

procedure TBlob.SetAsBytes(const Value: TBytes);
begin
  SetLength(FIntData, Length(Value));
  System.Move(Value[0], FIntData[0], Length(Value));
  FLoaded := True;
end;

Did you find any specific problem that was fixed by that change?

It seems the original code is not wrong, since Size is a property and GetSize returns exactly Length(Value) so the effect would be the same.

Yes, before our data that we assign to the AsBytes property are not stored in the right way. After modification of this file, no problems occured.

We cannot reproduce it, especially because, as I said, the code is "the same". Are you sure that change fixed the problem? If yes, can you try create a sample application that reproduces the problem and send it to us so we can check and fix, if needed?