Ja, natürlich, was Parameter angeht ist es natürlich sowieso äußerst unsauber da Standard-Bezeichner wie Width oder Height zu verwenden.
Nichtsdestotrotz hättest du das Problem aber immer noch gehabt, wenn das ganze in einer Methode eines Formulars stünde, in der du mit Width und Height auf das Formular zugegriffen hättest. Dann würde sich das bei XE2 plötzlich auf das TRect in der with-Klausel beziehen.
Und von daher wirst du bei Verwendung von with
niemals solche schwer zu findenden Probleme gänzlich ausschließen können, weshalb ich es nach wie vor für sehr gefährlich halte.
Und da es auch keine echten Vorteile bietet (abgesehen von ein paar Zeichen weniger zu tippen
), sehe ich schlicht den Sinn darin nicht, den Code damit mutwillig schlechter wartbar, schlechter debugbar, unübersichtlicher und fehleranfälliger zu machen.