E2264 Impossible d'avoir les résolutions de méthodes pour l'interface '%s' (Delphi)
Remonter à Messages d'erreur et d'avertissement (Delphi)
Vous avez essayé d'utiliser une clause de résolution de méthode sur une interface nommée dans une clause implements.
program Produce;
type
I0 = interface
procedure i0p0(a : char);
end;
T0 = class(TInterfacedObject, I0)
procedure I0.i0p0 = proc0;
function getter : I0;
procedure proc0(a : char);
property p0 : I0 read getter implements I0;
end;
procedure T0.proc0(a : char);
begin
end;
function T0.getter : I0;
begin
end;
end.
Dans cet exemple, la méthode proc0 est mappée sur la procédure d'interface i0p0, mais comme l'interface est citée dans une clause implements, le changement de nom est interdit.
program Solve;
type
I0 = interface
procedure i0p0(a : char);
end;
T0 = class(TInterfacedObject, I0)
function getter : I0;
procedure i0p0(a : char);
property p0 : I0 read getter implements I0;
end;
procedure T0.i0p0(a : char);
begin
end;
function T0.getter : I0;
begin
end;
end.
La solution de ce problème est de supprimer la "clause de résolution de nom". Pour faire cela simplement, donnez à la procédure de la classe le même nom qu'à la méthode d'interface.