добавить их(его) в окно свойств?Их (его) это о чем? Что должно быть в окне свойств?
Александр Ривилис, xData примитива. int, double, stringПонятно. Не самое простое приложение будет. Нужно создавать COM-сервер, который добавляет динамические свойства в Панель свойств (OPM). Если установлен ObjectARX Wizard, то создать заготовку можно так:
А без COM никак?Есть еще НЕ-COM API, но оно недоделанное. Наверняка на проблемы нарвешься:
Александр Ривилис, ObjectARX Wizard установлен. Но там всего 3 пункта.
Есть еще НЕ-COM API, но оно недоделанноеНе-COM уже обсуждалось https://adn-cis.org/forum/index.php?topic=9213.0 (https://adn-cis.org/forum/index.php?topic=9213.0)
И как прикрутить xData к не-com ума не приложу )Так же как и любые другие данные. Сам должен придумать логику работы.
Так же как и любые другие данные. Сам должен придумать логику работы
В админских правах необходимости нетА как же регистрация com-сервера?
А как же регистрация com-сервера?То что нужно, регистрируется под обычным пользователем: https://adn-cis.org/forum/index.php?topic=7087.msg21074#msg21074
Но при выгрузке модуля и попадании курсора на примитив, которому было задано COMсвойство Autocad слетает с fatal error.Модули с COM-объектом нельзя выгружать. Если быть точным, то можно, но тогда нужно создавать не с помощью wizard. Но это очень громоздко получается. Я в своё время на это плюнул, так как выгрузка нужна только для отладки...
Похоже, что COM-properties некорректно выгружается... ?? Код оригинальный, ничего своего - только wizard
Если быть точным, то можно, но тогда нужно создавать не с помощью wizard
При изменении ведущего возникает необходимость сообщить зависимому, что оно изменено и список нужно обновить. Как это сделать? Не могу найтиВ XXX::SetCurrentValueData вызываешь:
if (m_pNotify) m_pNotify->OnChanged(pUnk);
Из одного пропертия обновить другое.Так не получится. Изменение какого-то динамического свойства (через SetCurrentValueData) приводит к вызову GetCurrentValueData для других свойств ассоциированных с этим объектом (объектами). Так, например, работает у меня в GeomProps, когда меняют "Линейный масштабный коэффициент". При этом все ассоциированные свойства (периметр, площадь, объем) пересчитываются.
Так не получится. Изменение какого-то динамического свойства (через SetCurrentValueData) приводит к вызову GetCurrentValueData для других свойств ассоциированных с этим объектом
По идее, если в момент между connect и disconnect передать два указателя *m_pNotify и this, то из SetCurrentValueData одного свойства можно вызвать m_pNotify->OnChanged(this) другого...Очень сильно сомневаюсь. В COM такие вещи не делают. Почитай в Autodesk ObjectARX for AutoCAD 20XX: Developer's Guide > Using COM for ObjectARX Development > Property Inspector and Properties Palette APIs > Property Inspector Notification Framework >