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.