I've found that if you have an assignment with no assignment operator in Delphi 2007
then it compiles with no error as long as it is immediately after a begin
in the code:
procedure TForm1.Button1Click(Sender: TObject);
var
X: word;
begin
X := 0;
begin
X + 1;
end;
end;
'X + 1' is not a valid statement in Delphi and yet it compiles.
It is the same for other operators. Take the begin away and you get the error :
"[DCC Error] Unit1.pas(32): E2014 Statement expected
But expression of type Integer
found:
procedure TForm1.Button1Click(Sender: TObject);
var
X: word;
begin
X := 0;
X + 1;
end;
Which is what I would expect. Does anyone have an explanation for this error?