So hätte man das With-Statement auch gestalten und die Unsicherheiten beim Scope vermeiden können:
Delphi-Quellcode:
with FormComponent.Property1.SubProperty2.SubProperty3 as x do
begin
x.BoolValue:= xyz;
x.IntValue:= 123;
x.StringValue:= 'xyz';
end;
Und als verschärfte Variante:
Delphi-Quellcode:
with FormComponent.Property1.SubProperty2.SubProperty3 as x, Gameboard.Player[1] as y do
begin
x.BoolValue:= y.Active;
x.IntValue:= y.Score;
x.StringValue:= y.Name;
end;