Hello all, I encountered a weird behaviour of FillChar today.
The Demo below illustrates the bug.
program Project1;
{$APPTYPE CONSOLE}
{$R *.res}
uses
SysUtils;
procedure PrintArray(const ar: array of UInt32);
var
i: Int32;
begin
for i := Low(ar) to High(ar) do
begin
WriteLn(ar[i]);
end;
end;
var
a: array [0 .. 5] of UInt32;
begin
try
{ TODO -oUser -cConsole Main : Insert code here }
FillChar(a, SizeOf(a), UInt32(4));
PrintArray(a);
ReadLn;
except
on E: Exception do
WriteLn(E.ClassName, ': ', E.Message);
end;
end.
I expected
but got the strange values in the image below.
Any idea what's wrong?