Полный код в задачке был такой:
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