E2062 Constructeurs virtuels non autorisés (Delphi)

De RAD Studio
Aller à : navigation, rechercher

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

A l'inverse des types class, les types object ne peuvent avoir que des constructeurs statiques.



program Produce;

type
  TMyObject = object
    constructor Init; virtual;
  end;

constructor TMyObject.Init;
begin
end;

begin
end.

L'exemple essaie de déclarer un constructeur virtuel, ce qui n'a pas vraiment de sens pour les types objet et est par conséquent incorrect.



program Solve;

type
  TMyObject = object
    constructor Init;
  end;

constructor TMyObject.Init;
begin
end;

begin
end.

La solution consiste à rendre le constructeur statique ou à utiliser un type class d'un nouveau genre qui peut avoir un constructeur virtuel.