E2181 Redéclaration de propriété non autorisée dans la section OLE Automation (Delphi)
Remonter à Messages d'erreur et d'avertissement (Delphi) - Index
Une propriété n'est pas autorisée à être redéclarée dans une section automated.
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; (* Déplace Name vers une visibilité public par redéclaration *) automated property Value; end; begin end.
Dans l'exemple ci-dessus, Name est déplacé depuis la visibilité private dans Base vers la visibilité public dans Derived par redéclaration. La même idée est essayée sur Value, mais produira une erreur.
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; (* Déplace Name vers une visibilité public par redéclaration *) property Value; automated end; begin end.
Il n'est pas possible de changer la visibilité d'une propriété dans une section automated, cependant la solution à ce problème est de ne pas redéclarer de propriétés de classes de base dans des sections automated.