Добрый день, по мере анализа функциональности динамических свойств задался вопросом, а можно ли реализовать добавление новых свойств и новых категорий, определив в коде конструкторы/методы для них?
Во всех примерах что я вижу вводится некоторый класс, наследующий интерфейс в том числе IDynamicProperty и для этого класса вводится пустой конструктор в реализации которого задаются нужные Автору кода имена и тип данных ... как я понял пустой конструктор это вынужденная мера для логики функции COM CreateInstance, верно же? Даже введя вспомогательные методы а-ля
void set_name(bstr_t name);
void set_type(VARTYPE type);
void set_order(int order);
и реализовав их после отработки CreateInstance я не наблюдаю новые свойства в перечне своей категории (в качестве контейнера для всех свойств категории создал контейнер вида
static std::vector< CComObject<my_class>*> categorized_props;
Но ненаблюдение наверное следствие того что я не сохраняю их в XData ...
В общем интересует в принципе,
можно ли создавать произвольные свойства во время работы с чертежом (например из отдельного диалогового окна из пользовательского ввода - типа
"создать свойство типа string для всех объектов" с его появлением у объектов), оставив в коде функциональность для этого, или это невозможно в принципе и динамические свойства могут лишь описываться в коде и никак их не видоизменить уже в модели (исключая настройку отображения свойств в окне настройки cuix)?