Здравствуйте, alex_public, Вы писали:
_>Здравствуйте, Serginio1, Вы писали:
_>>>Аааа, так оно ещё и через COM это делается... ) Тогда уж точно никакой разницы с другими языками нет, причём уже прямо сейчас. Т.е. банально реализуем соответствующий COM интерфейс и без проблем используем его в 1C. Не знаю правда зачем, но делается это тривиально. )))
S>> Тебе нужно делать обертку Idispatch над объектом, типом. В Net это делается через Reflection к любому типу, объекту
S>>Раз это элементарно забацайка. В той статье класс оборачивает любой объект, тип. Поддержка энумераторов.
S>>Давай прямо сейчас.
_>Ну вообще то создание COM объектов в виде обёртки над существующими классами — это не самый лучший путь. По нормальному реализацию COM вставляют прямо в эти классы (мы же обычно заранее знаем, хотим ли мы поддерживать вызов нас через COM или нет). Соответственно реализация делается тривиально: http://doc.qt.io/qt-5/activeqt-activeqt-simple-example.html или например вот http://doc.qt.io/qt-5/activeqt-activeqt-comapp-example.html для полноценного приложения (exe) с документами и т.п., управляемого через COM.
Еще раз моя обертка для любого нетовского класса, который 1С ник может использовать только зная имя класса если сборка загружена либо AssemblyQualifiedName
если сборка находится в GAC.
_>Но если всё же есть большое желание создание COM обёртку над уже реализованными классами, то это естественно тоже не проблема: http://doc.qt.io/qt-5/activeqt-activeqt-wrapper-example.html.
S>> Это еще раз подтверждение того, что ты невнимательно читаешь ссылки
_>Эээ что? )
То, что привел пример универсальной обертки. Где не нужно делать каких либо действий, кроме подписки на события.
Это плюсы Net, где есть Reflection, заглушка к COM, GC. Чего нет в C++. А решать все через предварительное создание враперов не выход, так как я не знаю, чего захочет 1С ник (какие классы, сборки будет использовать), так как врапер универсальный и в real time. По сути это бесплатное расширение 1С. Но самый смех в том, что это мало кому нужно.