Я переопределяю виртуальный метод, и я хочу вызвать унаследованный. Но я не хочу называть непосредственного предка, я хочу позвонить тому, кто был раньше.
TObject
TDatabaseObject
TADODatabaseObject <---call this guy
TCustomer <---skip this guy
TVIP <---from this guy
Я попытался использовать self
в качестве предка и вызвать метод для этого, но это привело к рекурсивному переполнению стека:
procedure TVip.SetProperties(doc: IXMLDOMDocument);
begin
TADODatabaseObject(Self).SetProperties(doc); //skip over TCustomer ancestor
...
end;
я попытался добавить inherited
ключевое слово, но это не компилируется:
procedure TVip.SetProperties(doc: IXMLDOMDocument);
begin
inherited TADODatabaseObject(Self).SetProperties(doc); //skip over TCustomer ancestor
...
end;
Возможный?