E2079 La procédure NEW requiert un constructeur (Delphi)

De RAD Studio
Aller à : navigation, rechercher

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

Ce message d'erreur est émis lorsqu'un identificateur spécifié dans la liste de paramètres en New n'est pas un constructeur.



program Produce;

type
  PMyObject = ^TMyObject;
  TMyObject = object
  F: Integer;
  constructor Init;
  destructor Done;
  end;

constructor TMyObject.Init;
begin
  F := 42;
end;

destructor TMyObject.Done;
begin
end;

var
  P : PMyObject;

begin
  New(P, Done);              (*<-- Message d'erreur ici*)
end.

Par erreur, nous avons appelé New avec le destructeur, et non avec le constructeur.



program Solve;

type
  PMyObject = ^TMyObject;
  TMyObject = object
  F: Integer;
  constructor Init;
  destructor Done;
  end;

constructor TMyObject.Init;
begin
  F := 42;
end;

destructor TMyObject.Done;
begin
end;

var
  P : PMyObject;

begin
  New(P, Init);
end.

Vérifiez que vous avez donné un constructeur à la fonction standard New ou aucun argument supplémentaire du tout.