Andere Probleme wie hier aufgeführt sind mir jedoch noch nicht untergekommen.
Klassisches Beispiel: Als in einer Delphi-Version das TRect dann die Eigenschaften
Width und
Height bekam, erzeugten reihenweise Konstrukte wie
Delphi-Quellcode:
with myRect do begin
Bottom := Left + Width;
Right := Top + Height;
end;
zur Laufzeit ein falsches Verhalten. Vorher bezogen sich
Width und
Height noch auf den äußeren Scope - jetzt gibt es sie plötzlich auch im inneren. Der Compiler blieb davon natürlich ganz unbeeindruckt.
Solche Dinge können natürlich auch ohne
with passieren,
with ist aber vermeidbar.
Übrigens gibt es statische Sourcecode-Analyse-Tools, die sowas erkennen.