Re: Не могу возвратить клиенту интерфейс объекта
От: Резник Андрей Борисович Россия  
Дата: 24.12.01 09:08
Оценка:
Здравствуйте Body, Вы писали:

B>Существует метод на сервере TAAA, который должен возвращать интерфейс на TAutoIntfObject который поддерживает интерфейс IConnectInfo;

B> IConnectInfo = interface(IDispatch)
B> {########-############-###########-#}
B> function GetParams(const AName: WideString): OleVariant; safecall;
B> end;

B>Var

B> AI : IDispatch;
B> V : OleVariant;
B>begin
B> AI := SockectConnection.AppServer.GetConnection(#####);
B> V := AI;
B> V.GetParams('AAA'); <--- вот тут происходит ошибка
B> Method "GetParams" not supported by automation object
B>end;

B>Подскажите пожалуйста — чего я неправильно делаю.

B>А если точно не знаете, то может мысли какие-нить есть по этому поводу.

Первейшая мысль: а V — это OleVariant. Я Дельфи помню плохо, но внутренний голос мне подсказывает, что V.GetParams в этом случае будет запускатся через Invoke(). И этот же голос мне подсказывает, что сервер имеет не дуальный интерфейс, а custom, и тамошний Invoke() ничего про твою функцию не знает. Отсюда и ошибка.
Sorry, если я не прав, но это первое, что в голову приходит.

WBR,Andrey_Reznik(2:5020/2999)
Moderator of RU.COM.ACTIVEX
WBR, Andrey Reznik (2:5020/2999, Andrey_Reznik@rambler.ru)
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.