Наследование
Добавлено: 08 авг 2013, 15:51
Добрый день. Может кто сталкивался с такой проблемой или знает как ее решить:
Делаю интерфейс, имплиментурую объектную процедуру. Потом делаю другой интерфейс, наследуемый от первого. И хочу заместить процедуру. При компиляции выдает ошибку " Повторная реализация метода"
Все это нужно для того, что бы по объектной переменной вызвать нужную процедуру на подобии такого
Делаю интерфейс, имплиментурую объектную процедуру. Потом делаю другой интерфейс, наследуемый от первого. И хочу заместить процедуру. При компиляции выдает ошибку " Повторная реализация метода"
Код: Выделить всё
ObjInterface ObjInter;
procedure doSome(pRec : comp);
End;
Interface iInt1;
procedure doSome(pRec : comp);
{
message('iInt1.doSome');
}
end.
VipInterface iInt1 implements ObjInter licensed( free );
Interface iInt2;
procedure doSome(pRec : comp);
{
message('iInt2.doSome'); // здесь возникает ошибка "Повторная реализация метода ObjInter.doSome"
}
end.
VipInterface iInt2(iInt1) licensed( free );
Код: Выделить всё
var oM : ObjInter;
if (Trim(sInt) = '')
{
if NullVipRef(oM)
LoadVipRef(oM, 'iInt1');
}
else
if NullVipRef(oM)
LoadVipRef(oM, 'iInt2');
oM.doSome(pDogovor);