Форум » [x]Harbour » Owerride » Ответить

Owerride

fil: Не подскажет ли кто каков в Harbour (не в xHarbor) синтаксис для команды Owerride

Ответов - 5

gfilatov2002: fil пишет: каков в Harbour (не в xHarbor) синтаксис для команды Возможно, помогут определения ниже: #xcommand OVERRIDE METHOD <!Message!> [IN] CLASS <!Class!> ; WITH [METHOD] <!Method!> [SCOPE <Scope>] => ; __clsModMsg( <Class>():classH, #<Message>, @<Method>() ) #xcommand EXTEND CLASS <!Class!> WITH <data: DATA, VAR> <!VarName!> ; [SCOPE <scope>] [<persist: PERSISTENT>] ; [<case: NOUPPER>] => ; __clsAddMsg( <Class>():classH, #<VarName>, ; __cls_IncData( <Class>():classH ), ; HB_OO_MSG_PROPERTY, NIL, ; __xhb_cls_scope( <scope>, <.persist.> ) ) #xcommand EXTEND CLASS <!Class!> WITH METHOD <!Method!> [SCOPE <scope>] ; [<persist: PERSISTENT>] [<case: NOUPPER>] => ; __clsAddMsg( <Class>():classH, #<Method>, @<Method>(), ; HB_OO_MSG_METHOD, NIL, ; __xhb_cls_scope( <scope>, <.persist.> ) ) #xcommand EXTEND CLASS <!Class!> WITH MESSAGE <!Message!> METHOD <!Method!> ; [SCOPE <scope>] [<persist: PERSISTENT>] ; [<case: NOUPPER>] => ; __clsAddMsg( <Class>():classH, #<Message>, @<Method>(), ; HB_OO_MSG_METHOD, NIL, ; __xhb_cls_scope( <scope>, <.persist.> ) ) #xcommand EXTEND CLASS <!Class!> WITH MESSAGE <!Message!> INLINE <code,...> ; [SCOPE <scope>] [<persist: PERSISTENT>] ; [<case: NOUPPER>] => ; __clsAddMsg( <Class>():classH, #<Message>, ; {| Self | HB_SYMBOL_UNUSED( Self ), <code> }, ; HB_OO_MSG_INLINE, NIL, ; __xhb_cls_scope( <scope>, <.persist.> ) ) #xcommand EXTEND CLASS <!Class!> WITH MESSAGE <Message>( <params,...> ) ; INLINE <code,...> ; [SCOPE <scope>] [<persist: PERSISTENT>] ; [<case: NOUPPER>] => ; __clsAddMsg( <Class>():classH, #<Message>, ; {| Self, <params> | HB_SYMBOL_UNUSED( Self ), <code> }, ; HB_OO_MSG_INLINE, NIL, ; __xhb_cls_scope( <scope>, <.persist.> ) )

fil: Возможно.. В xHB это выглядит так Override Method nameMethod IN CLASS nameClass WITH nameFunction а вот в HB..

alkresin: fil пишет: В xHB это выглядит так Override Method nameMethod IN CLASS nameClass WITH nameFunction а вот в HB.. Аналогично. Надо только добавить файл заголовков: #include "xhbcls.ch" ю и прописать путь к нему - contrib/xhb Возможно, потребуется подключить библиотеку xhb.lib


Dima: fil Этот вопрос мы уже проходили в теме и ты тогда и подсказал куда копать

fil: Да, можно так #include "xhbcls.ch" А можно и так __clsModMsg(Класс():ClassH, "Метод", @Функция() )



полная версия страницы