Здравствуйте, Naigs, Вы писали:
N>Здравствуйте.
N>Нужно решить такую задачу: необходимо преобразовать обычный объект в COM объект.
N>Фактически, на сколько я понимаю(я мало знаком с COMом),нужно на этот объект навесить COM интерфейс, который содержит методы объекта.
N>Но самое главное, что это нужно сделать "на лету".
N>Я не представляю, как это возможно сделать. По возможности, можно по подробнее.
В C++ (как и AFAIK во многих других языках) задача добавления новых методов к объекту
во время исполнения неразрешима.
Т.е. уже созданному объекту во время выполнения программы вообще нельзя "навесть интерфейс" (IUnknown в случае COM), т.е. добавить новые методы (методы этого интерфейса) динамически уже созданному объекту не получится. Это же блин не скриптовый язык
И кстати, в C++ вообще нельзя добавить метод объекту, его можно добавить только классу, т.е. всем объектам этого класса. Т.е. если у нас есть два объекта одного и того же класса, то набор методов (интерфейсов) у них будет одинаковый
В общем все это IMHO означает, что ваш объект должен поддерживать COM-интерфейс IUnknown (ну или IDispatch) изначально (т.е. изначально быть COM-объектом).