E2188 La propriété publiée '%s' ne peut être de type %s (Delphi)

De RAD Studio
Aller à : navigation, rechercher

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

Les propriétés publiées doivent être de type ordinal (Single, Double, Extended, Comp), de type chaîne, de type ensemble qui tienne sur 32 bits, ou de type pointeur de méthode. Lorsqu'un autre type de propriété est rencontré dans une section publiée, le compilateur enlève l'attribut published -$M+


(*$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.

Une erreur est induite car un tableau n'est pas un des types de données pouvant être publiés.


(*$TYPEINFO ON*)
program Solve;

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

begin
end.

Cette erreur sera évitée en sortant la déclaration de propriété de la section publiée. Une autre alternative, comme dans cet exemple, consiste à changer le type de la propriété en quelque chose qui peut être publié.