E2188 Published-Eigenschaft '%s' kann nicht vom Typ %s sein (Delphi)

Aus RAD Studio
Wechseln zu: Navigation, Suche

Nach oben zu Fehler- und Warnungsmeldungen (Delphi)

published-Eigenschaften müssen ein Ordinaltyp, Single, Double, Extended oder Comp, ein Stringtyp, ein Mengentyp (der mit 32 Bit auskommt) oder ein Methoden-Zeigertyp sein. Wenn der Compiler in einem öffentlichen Abschnitt auf einen anderen Eigenschaftentyp trifft, entfernt er das Attribut published.


(*$TYPEINFO ON*)
program Produce;

  type
    TitleArr = array [0..24] of char;
    NamePlate = class
    private
      titleStr : TitleArr;
    published
      property Title: TitleArr read titleStr write titleStr;
    end;

begin
end.

Hier wird ein Fehler ausgelöst, da ein Array nicht einer der Datentypen ist, die veröffentlicht werden können.


(*$TYPEINFO ON*)
program Solve;

  type
    TitleArr = integer;
    NamePlate = class
      titleStr : TitleArr;
    published
      property Title: TitleArr read titleStr write titleStr;
    end;

begin
end.

Dieser Fehler wird vermieden, indem die Deklaration der Eigenschaft aus dem öffentlichen Abschnitt entfernt wird. Eine andere Möglichkeit, wie in diesem Beispiel verwirklicht, liegt darin, den Typ der Eigenschaft in einen zu verändern, der veröffentlicht werden kann.