【发布时间】:2018-11-29 08:38:24
【问题描述】:
我正在将我的代码从 10.1 移植到 10.2,这给了我错误:
procedure TForm4.FormCreate(Sender: TObject);
const
CFourBytes: array[0..3] of Byte = (1, 2, 3, 4);
var
LStream: TMemoryStream;
LBuffer: array of Byte;
begin
SetLength(LBuffer, 4);
LStream := TMemoryStream.Create;
LStream.Write(@CFourBytes[0], 4); // E2036 Variable required
LStream.Position := 0;
LStream.ReadData(@LBuffer[0], 4);
end;
我不得不将违规行改为LStream.Write(CFourBytes[0], 4);
发生了什么变化?我一直都做错了吗?
【问题讨论】:
-
你一直都做错了。
-
看看这个(我的一篇文章的一部分):rvelthuis.de/articles/articles-pointers.html#untypedparams
-
我记得那篇文章 :) 它仍然有效并且很好阅读鲁迪! :)
标签: delphi memorystream delphi-10.1-berlin delphi-10.2-tokyo