08/12/17 16:11:29
var
alias: TMyType;
begin
alias := foo.bar.baz;
alias.aaa;
alias.bbb := 1;
alias.ccc;
end;
は
with foo.bar.baz do
begin
aaa;
bbb := 1;
ccc;
end;
と同じ。
foo.bar.baz.aaa;
foo.bar.baz.bbb := 1;
foo.bar.baz.ccc;
とは異なる(可能性がある)。
プロパティbazがgetbazを呼んでいる場合
上二つは1度呼ばれ三つめは3度呼ばれる。
速度が遅くなるだけではなく副作用で実行結果すら異なることもあり得る。