E2217 Das Published-Feld '%s' ist weder vom Typ class noch interface (Delphi)

Aus RAD Studio
Wechseln zu: Navigation, Suche

Nach oben zu Fehler- und Warnungsmeldungen (Delphi)

Es wurde versucht, ein Feld in einer Klasse als published zu deklarieren, das weder ein Klassen- noch ein Schnittstellentyp ist.


program Produce;

  type
    TBaseClass = class
    published
      x: Integer;
    end;
begin
end.

Dieses Programm verursacht einen Fehler, weil 'x' in einem published-Abschnitt enthalten ist, obwohl 'x' kein Typ ist, der als published deklariert werden kann.


program Solve;
  type
    TBaseClass = class
      Fx : Integer;
    published
      property X : Integer read Fx write Fx;
    end;

begin
end.

Sie müssen alle Felder, die keine Klassen- oder Schnittstellentypen sind, aus dem published-Abschnitt einer Klasse löschen. Muss das Feld als published deklariert werden, ändern Sie es in eine Eigenschaft um, so wie es im Beispiel gezeigt wird.