E2188 Published-Eigenschaft '%s' kann nicht vom Typ %s sein (Delphi)
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.