E2146 Les valeurs par défaut doivent être de type ordinal, pointeur ou petit ensemble (Delphi)

De RAD Studio
Aller à : navigation, rechercher

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

Vous avez déclaré une propriété contenant une clause default, mais le type propriété est incompatible avec les valeurs par défaut.



  program Produce;

    type
      VisualGauge = class
        pos : Single;
  property Position: Single read pos write pos default 0.0;
      end;

  begin
  end.

Le programme précédent crée une propriété et essaie de lui affecter une valeur, mais puisque le type de la propriété n'autorise pas les valeurs par défaut, une erreur s'est produite.



  program Produce;

    type
      VisualGauge = class
        pos : Integer;
  property Position: Integer read pos write pos default 0;
      end;

  begin
  end.

Lorsque cette erreur est rencontrée, il existe deux solutions simples : la première est d'enlever la définition de valeur par défaut, et la deuxième est de changer le type de la propriété en un type autorisant une valeur par défaut. Votre programme, cependant, n'est peut-être pas aussi simple à fixer. Par exemple, lorsque vous avez une propriété set trop grande (c'est le cas nécessitant un examen approfondi de votre programme pour déterminer la meilleure solution au problème).