Forum: Object-Pascal / Delphi-Language
by himitsu,
2. Feb 2022
Früher hat so Mancher gern sowas
with MyRect do Width := Right - Left;
gemacht, um die Breite der Form zu ändern,
da der Compiler das
Self.Width := MyRect.Right - MyRect.Left;
daraus machte, aber dann änderte jemand den Typen, welcher im WITH stand, und schon wunderte man sich, dass die Form ihre Breite nicht mehr änderte,
weil es nun so aussieht
MyRect.Width := MyRect.Right - MyRect.Left;...
Forum: Object-Pascal / Delphi-Language
by himitsu,
2. Feb 2022
Es wird immer das verwendet, was zuletzt vorkommt, also von unten nach oben zuerst gefunden wird, und hier ist es nunmal das NAME vom WITH.
Fazit: Lass solchen Mist wie WITH weg.
@Bernd: Dir viel Spaß, wenn das im WITH mal ein AName bekommt.
Sowas wie Self (aus Form statt Parameter/Lokale), oder einen UnitNamen als Namespace, gibt es für lokale Variablen oder Parameter nunmal...