E2602 La procédure DISPOSE requiert l'identificateur de destructeur de '%s', mais l'identificateur '%s' non déclaré a été trouvé (Delphi)

De RAD Studio
Aller à : navigation, rechercher

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


Ce message d'erreur est émis lorsqu'un identificateur de la liste de paramètres spécifiée à Dispose n'est pas un destructeur.

 
 type
   PObj = ^TObj;
   TObj = object
     FData: Integer;
     destructor Finalize;
   end;
 
 var
   R: PObj;
 
 destructor TObj.Finalize;
 begin
 end;
 
 begin
   Dispose(R, Foo);  // issues error: E2602
 end.

La solution consiste à passer un destructeur à Dispose ou à éliminer le deuxième argument.

 
 type
   PObj = ^TObj;
   TObj = object
     FData: Integer;
     destructor Finalize;
   end;
 
 var
   R: PObj;
 
 destructor TObj.Finalize;
 begin
 end;
 
 begin
   Dispose(R, Finalize); // ok
 end.

Voir aussi