E2149 La classe n'a pas de propriété par défaut (Delphi)
Remonter à Messages d'erreur et d'avertissement (Delphi) - Index
Vous avez utilisé une variable instance de classe dans une expression tableau, mais le type class n'a pas déclaré de propriété tableau par défaut.
program Produce; type Base = class end; var b: Base; procedure P; var ch : Char; begin ch := b[1]; end; begin end.
L'exemple ci-dessus provoque une erreur car 'Base' ne déclare pas de propriété array et 'b' n'est pas un tableau.
program Solve; type Base = class function GetChar(i : Integer): Char; property data[i : Integer]: Char read GetChar; default; end; var b: Base; function Base.GetChar(i : Integer): Char; begin GetChar := 'A'; end; procedure P; var ch : Char; begin ch := b[1]; ch := b.data[1]; end; begin end.
Lorsque vous avez déclaré une propriété par défaut pour une classe, vous pouvez utiliser la variable instance de classe dans une expression tableau, comme la variable instance de classe elle-même était actuellement un tableau. Vous pouvez aussi utiliser le nom de la propriété pour accéder au tableau.
Remarque : Si les informations sont activées, vous recevrez deux avertissements sur la valeur affectée à 'ch' qui n'a jamais été utilisée.