Автор | Сообщение |
|
| |
Пост N: 643
Зарегистрирован: 17.06.10
|
|
Отправлено: 27.05.22 14:01. Заголовок: Owerride
Не подскажет ли кто каков в Harbour (не в xHarbor) синтаксис для команды Owerride
|
|
|
Ответов - 5
[только новые]
|
|
|
| moderator
|
Пост N: 2045
Зарегистрирован: 11.02.10
|
|
Отправлено: 27.05.22 14:17. Заголовок: fil пишет: каков в ..
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.> ) ) |
|
|
|
|
|
| |
Пост N: 644
Зарегистрирован: 17.06.10
|
|
Отправлено: 27.05.22 14:32. Заголовок: Возможно.. В xHB это..
Возможно.. В xHB это выглядит так Override Method nameMethod IN CLASS nameClass WITH nameFunction а вот в HB..
|
|
|
|
| moderator
|
Пост N: 1475
Зарегистрирован: 06.07.06
|
|
Отправлено: 30.05.22 10:17. Заголовок: fil пишет: В xHB эт..
fil пишет: цитата: | В xHB это выглядит так Override Method nameMethod IN CLASS nameClass WITH nameFunction а вот в HB.. |
| Аналогично. Надо только добавить файл заголовков: #include "xhbcls.ch" ю и прописать путь к нему - contrib/xhb Возможно, потребуется подключить библиотеку xhb.lib
|
|
|
|
| |
Пост N: 7654
Зарегистрирован: 17.05.05
|
|
Отправлено: 30.05.22 18:28. Заголовок: fil Этот вопрос мы ..
fil Этот вопрос мы уже проходили в теме и ты тогда и подсказал куда копать
|
|
|
|
| |
Пост N: 645
Зарегистрирован: 17.06.10
|
|
Отправлено: 06.06.22 15:25. Заголовок: Да, можно так #inclu..
Да, можно так #include "xhbcls.ch" А можно и так __clsModMsg(Класс():ClassH, "Метод", @Функция() )
|
|
|
|