E2392 Die Erzeugung der für die Eigenschaft %s.%s erforderlichen Zugriffsmethode(n) ist wegen eines Namenskonflikts mit einem vorhandenen Symbol in demselben Gültigkeitsbereich nicht möglich (Delphi)

Aus RAD Studio
Wechseln zu: Navigation, Suche

Nach oben zu Fehler- und Warnungsmeldungen (Delphi)

Für CLR ist erforderlich, dass für den Zugriff auf Eigenschaften Methoden und nicht Felder verwendet werden. In der Delphi-Sprache ist es möglich als Eigenschaftszugriffsmethoden Felder festzulegen. Der Delphi-Compiler erzeugt im Hintergrund die benötigten Methoden. CLS empfiehlt eine spezielle Namenskonvention für Eigenschaftszugriffsmethoden: get_propname and set_propname. Wenn nicht mit Methoden auf Eigenschaften zugegriffen wird oder die gegebene Methode nicht mit CLS-Namensmustern übereinstimmt; versucht der Delphi-Compiler, Methoden mit konformen CLS zu erzeugen. Ist in der Klasse, die mit den CLS-Namensmustern übereinstimmt, bereits eine Methode vorhanden, aber nicht der Eigenschaft zugeordnet, kann der Compiler keinen neue Eigenschaftszugriffsmethode mit dem CLS-Namensmuster erstellen.

Wenn mit Methoden auf die Eigenschaft zugegriffen wird, verhindern Namenskollisionen, dass der Compiler einen CLS-konformen Namen erzeugt, verhindern aber nicht, dass die Eigenschaft verwendet werden kann.

Wenn jedoch wegen eines Namenskonflikts keine Eigenschaftszugriffsmethode für einen Feldzugriff vom Compiler erzeugt werden kann, kann die Eigenschaft nicht verwendet werden und Sie erhalten diesen Fehler.