W1045 La déclaration de la propriété référence un ancêtre private '%s.%s' (Delphi)

De RAD Studio
Aller à : navigation, rechercher

Remonter à Messages d'erreur et d'avertissement (Delphi)

Cet avertissement signale que votre code n'est pas portable dans C++. Il est important pour les concepteurs de composants prévoyant de distribuer des composants personnalisés.

En Delphi, vous pouvez déclarer une classe de base avec un membre privé, et une classe enfant de la même unité peut faire référence à ce membre privé. En C++, cette construction n'est pas autorisée. Pour corriger le problème, modifiez l'enfant pour qu'il fasse référence soit à un membre protected de la classe de base soit à un membre protected de la classe enfant.

Voici un exemple de code qui provoquera cette erreur :


type
	  TBase = class(…)
			private
	    FFoo:Integer
			end;
	  TChild=class(TBase)
			published
			property foo:Integer read FFoo write FFoo;
			end;