Полный код в задачке был такой:
type
IMyInterface = interface
['{ED93FF5F-C09B-4DC7-9AA1-A826ABC9EFA2}']
procedure Handle;
end;
IMyInterface2 = interface(IMyInterface)
['{E61A8B64-0CB0-443E-931A-AAE429A8FF48}']
end;
TMyObject = class(TInterfacedObject, IMyInterface, IMyInterface2)
protected
procedure _Handle;
procedure IMyInterface.Handle = _Handle;
end;
procedure TMyObject._Handle;
begin
end;
;)
В чем же все-таки причина ошибки?
ОтветитьУдалитьПочему бы в TMyObject не написать вместо
procedure IMyInterface.Handle = _Handle;
короче:
procedure Handle = _Handle;
Чтобы избежать ошибки компиляции Error: E2291 Missing implementation of interface method IMyInterface.Handle
ОтветитьУдалитьв TMyObject надо написать так:
procedure IMyInterface.Handle = _Handle;
procedure IMyInterface2.Handle = _Handle;
Если одно из них опустить, будет одинаковая ошибка.
Хотя по смыслк должно было быть сообщение: Missing implementation of interface method IMyInterface2.Handle