W1009 Redeklaration von '%s' verbirgt einen Member in der Basisklasse (Delphi)
Nach oben zu Fehler- und Warnungsmeldungen (Delphi)
In einer Klasse wurde eine Eigenschaft erstellt, die dieselbe Bezeichnung wie eine Variable in einer der Basisklassen hat. Eine mögliche, aber nicht immer offensichtliche Ursache für diesen Fehler liegt darin, dass eine neue Version der Basisklassen-Hierarchie installiert wurde, die neue Member-Variablen aufweist, deren Bezeichnungen mit den Bezeichnungen Ihrer Eigenschaften identisch sind. -W
(*$WARNINGS ON*) program Produce; type Base = class v : integer; end; Derived = class (Base) ch : char; property v : char read ch write ch; end; begin end.
Derived.v überschreibt, d. h. verbirgt, Base.v; der Zugriff auf Base.v ist ohne Typumwandlung aus keiner Variablen vom Typ Derived möglich.
(*$WARNINGS ON*) program Solve; type Base = class v : integer; end; Derived = class (Base) ch : char; property chV : char read ch write ch; end; begin end.
Der Fehler ist nach Änderung der Bezeichnung der Eigenschaft in der abgeleiteten Klasse behoben.