Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.12.18;
Скачать: CL | DM;

Вниз

как сделать, чтобы COM сервер возвращал объект   Найти похожие ветки 

 
fm   (2005-02-28 13:50) [0]

Хочу написать метод COM сервера, который возвращал бы клиенту новый объект. Например, клонировал себя.
Какой тип данных нужно использовать для out-параметра? Type Library editor постоянно говорит, что parameter requires pointer type.


 
wal ©   (2005-02-28 14:06) [1]

IUnknown.

C уважением.


 
fm   (2005-02-28 14:12) [2]

IUnknown - да нет, тоже самое пишет.


 
fm   (2005-02-28 14:16) [3]

А может у кого-нибудь есть пример?
Я просто хочу узнать как получать объекты от COM-сервера. Если клиент создаёт, то всё понятно, а если новый объект создаётся на сервере и клиенту (клиентам) нужно его передать?


 
Набережных С. ©   (2005-02-28 14:34) [4]

У тебя, видимо, включен язык IDL для редактора библиотек типов. Тогда просто добавь еще одну звездочку после типа. Т.е. после выбора из списка у тебя в колонке типа будет "IUnknown *", а нужно сделать так "IUnknown **". Но, думаю, для начала удобнее использовать паскаль. В Tools\Environment Options открой вкладку Type Library и измени язык.


 
Набережных С. ©   (2005-02-28 14:36) [5]

Да, и необязательно IUnknown, можно сам интерфейс или любой его предок.


 
fm   (2005-02-28 15:03) [6]

Премного благодерен! Это заработало!

Теперь ещё одна проблема - получить объект в обработчике события.

Описываю метод обработчика:
HRESULT NewObject([in] IComTest * Obj );

На клиенте делаю Import Type Library, и создаётся тип:
TComTestNewObject = procedure(Sender: TObject; var Obj: OleVariant) of object;
Т.е. in-параметр Obj стал var-параметром! Должно ли быть так? И как мне тогда из OleVariant получить свой IComTest?


 
Набережных С. ©   (2005-02-28 17:01) [7]

Во-первых, кто такой IComTest? Во-вторых, покажи IDL файл библиотеки.



Страницы: 1 вся ветка

Текущий архив: 2005.12.18;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.046 c
6-1125765758
Nekt0
2005-09-03 20:42
2005.12.18
SMTP Авторизация на mail.ru


2-1133718967
Developerr
2005-12-04 20:56
2005.12.18
Форму в нижний правый угол


14-1132829394
Урий
2005-11-24 13:49
2005.12.18
Quake 4


5-1117455686
Prohodil Mimo
2005-05-30 16:21
2005.12.18
отлов нажатия ТАБ - всё работает, но слышен beep.


4-1129819909
user-as
2005-10-20 18:51
2005.12.18
Робота в реэстрi без дозволу адміна з допомогою WinAPI