在一个表中,我有一个大小为60的TBytesField。创建记录且此字段设置为nil时,我想将其值设置为字节数组,例如[0,0,0.....0]
。我正在使用此代码:
var
ar : array of byte;
begin
if ByteField.AsBytes = nil then
begin
SetLength(ar, ByteField.Size);
ByteField.SetData(ar, True);
end;
end;
尽管
ar
的所有字节均为零,但我看到该字段取而代之的是这些值:[17,32,0,0,0,0,0,0,48,192,182,1,0...0]
我究竟做错了什么?
最佳答案
不要直接使用SetData()
。使用AsBytes
属性:
var
ar : TBytes;
begin
if ByteField.IsNull then
begin
SetLength(ar, ByteField.Size);
ByteField.AsBytes := ar;
end;
end;
关于delphi - Delphi TBytesField SetData,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/44742419/