E2602 La procédure DISPOSE requiert l'identificateur de destructeur de '%s', mais l'identificateur '%s' non déclaré a été trouvé (Delphi)
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.