Подписка на ksDocument3DNotify

Автор Chipchilinka_1, 29.02.24, 12:49:56

« назад - далее »

0 Пользователи и 1 гость просматривают эту тему.

Chipchilinka_1

Подскажите как подписаться на ksDocument3DNotify.
BaseEvent(kompas6_api5_module.Document3DNotify, on_app_notify_event2,
                              kompas_object.Document3D().GetDocument3DNotify())
Такой вариант не выдает ошибок но события не обрабатывает

Vi2

По-моему, BaseEvent - это базовый класс, не имеющий реализации. Смотри CBaseEvent/ABaseEvent и как наследуются реальные обработчики в примерах.

Chipchilinka_1

Цитата: Vi2 от 01.03.24, 10:38:32По-моему, BaseEvent - это базовый класс, не имеющий реализации. Смотри CBaseEvent/ABaseEvent и как наследуются реальные обработчики в примерах.
А какая разница если в обработчике не нужно что-то  наследовать ты просто создаешь класс и прописываешь его поведение

Vi2

В базовом классе реализовано подключение к источнику событий, но что реализовывать при вызове его источником событий он не знает. Поэтому и нужно наследоваться и описывать имена обработчиков конкретных событий.

Chipchilinka_1

Цитата: Vi2 от 04.03.24, 11:47:33В базовом классе реализовано подключение к источнику событий, но что реализовывать при вызове его источником событий он не знает. Поэтому и нужно наследоваться и описывать имена обработчиков конкретных событий.
Так я не наследую класс а сам его описываю, зачем мне его наследовать

Валерий Изранов

Chipchilinka_1, нужно быть послушнее и не перечить учителю. Добром не закончится.
Vi2 - это Учитель. Надо радоваться, что он зашел в эту тему и ответил.

Vi2

Цитата: Chipchilinka_1 от 05.03.24, 05:26:38Так я не наследую класс а сам его описываю, зачем мне его наследовать
Тогда покажи EVENTSINK_MAP для своего класса.

PS
Вот есть eventsAuto\Document3DEvent.h и eventsAuto\Document3DEvent.cpp
class Document3DEvent : public BaseEvent {...
  DECLARE_EVENTSINK_MAP()
}
и
BEGIN_EVENTSINK_MAP(Document3DEvent, BaseEvent)
  ON_EVENT (Document3DEvent, (unsigned int)-1, d3BeginRebuild,               BeginRebuild,               VTS_NONE)
  ON_EVENT (Document3DEvent, (unsigned int)-1, d3Rebuild,                    Rebuild,                    VTS_NONE)
...
Чем пример не нравится?

Vi2

Цитата: Валерий Изранов от 05.03.24, 06:56:39Chipchilinka_1, нужно быть послушнее и не перечить учителю. Добром не закончится.
Vi2 - это Учитель. Надо радоваться, что он зашел в эту тему и ответил.
Ну зачем такие страшилки... ;)

Валерий Изранов

Я никогда не забуду  помощь, оказанную мне года 3-4 назад при освоении VB6.
После этого моя работа понеслась.

Vi2

Тут, похоже, язык другой, нежели С++.

Chipchilinka_1

Цитата: Vi2 от 05.03.24, 07:10:53Тут, похоже, язык другой, нежели С++.
Да, я пишу на питоне впринципе

UU

Цитата: Chipchilinka_1 от 05.03.24, 08:02:12Да, я пишу на питоне впринципе
Есть тема, тут обсуждалось, есть подписка и на события документа, правда не Питон.
https://forum.ascon.ru/index.php?topic=30717.msg242729#msg242729

Chipchilinka_1

Цитата: UU от 06.03.24, 11:39:03Есть тема, тут обсуждалось, есть подписка и на события документа, правда не Питон.
https://forum.ascon.ru/index.php?topic=30717.msg242729#msg242729
Да я уже давно решил сам проблему, просто подписался на api7 версию интерфейса.
Этот не понятно почему не работает...