Re[3]: Вопрос по IDL - передача параметров
От: Tom Россия http://www.RSDN.ru
Дата: 28.01.05 13:22
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Здравствуйте, Tom, Вы писали:


Tom>>1. В COM обьекты не передаються никогда. Могут передаваться только указатели на интерфейс.


А>Как же тогда быть?! Как мне реализовать в COM тогда ф-цию в которой надо передать указатель на класс?! (как я приводил пример) Очень надо. Все остальное я кое-как смог обойти, хотя мне не совсем нравятся те методы которые я нашел, но вот это надо реализовать обязательно. Ведь можно в передавать указатели на структуры или объединения!

А>//В IDL

А>typedef struct myStruct

А>{
А> long lVal;
А>} MYSTRUCT;

А> HRESULT func(MYSTRUCT *obj);


А>Знаю что есть директивы #import и #include. Может как-то можно отталкиваясь от этого? Правда, я уже все перепробовал, но безрезультатно Компилятор очень сопротивляется и все отвергает.

А>Впервые столкнулся с такой проблемой, которую не могу решить

1. Если компонент — inproc, то можешь вообще обьявить параметр void* и передавать всё, что хочешь.
2. Если компонент — inproc, то можешь передавать указатель на интерфейс, а на сервере кастить к самому обьекту
3. Если всё таки маршалинг присуствует — можно реализовать маршалинг по значению (MVB), и опять же кастить к классу
Народная мудрось
всем все никому ничего(с).
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.