E2181 Redeklaration der Eigenschaft im OLE-Automatisierungsbereich nicht erlaubt (Delphi)
Nach oben zu Fehler- und Warnungsmeldungen (Delphi)
Es ist nicht zulässig, die Sichtbarkeit einer Eigenschaft in einen Automatisierungsabschnitt zu stellen.
program Produce; type Base = class v : Integer; s: String; protected property Name : String read s write s; property Value : Integer read v write v; end; Derived = class (Base) public property Name; (* Name durch Redeklaration öffentlich sichtbar machen *) automated property Value; end; begin end.
In diesem Beispiel wird Name aus privater Sichtbarkeit in Base mittels Neudeklaration zu öffentlicher Sichtbarkeit in Derived gebracht. Dieser Vorgang wird für Value wiederholt, führt jedoch zu einem Fehler.
program Solve; type Base = class v : Integer; s: String; protected property Name : String read s write s; property Value : Integer read v write v; end; Derived = class (Base) public property Name; (* Name durch Redeklaration öffentlich sichtbar machen *) property Value; automated end; begin end.
Es ist nicht möglich, die Sichtbarkeit einer Eigenschaft für einen Automatisierungsabschnitt zu ändern. Daher liegt die Lösung dieses Problems darin, Eigenschaften von Basisklassen nicht in Automatisierungsabschnitten zu redeklarieren.