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

Вниз

Вызов интерфейса из DcomConnection   Найти похожие ветки 

 
wed   (2002-04-01 15:00) [0]

Как, если это возможно, вызвать метод интерфейса при наличии подключения DCOMConnection
Спасибо.


 
Digitman ©   (2002-04-01 17:02) [1]

var
MyAppServer: IMyAppServer;
...

MyAppServer:= IMyAppServer(IDispatch(DCOMConnection.AppServer));
MyAppServer.MyMethod;


 
wed   (2002-04-09 14:01) [2]

При таком варианте выдает ACCESS Viol...
Соединение устанавливается при
dcomconnection1.GetServer.QueryInterface(IID_IMyAppServer,MyAppServer);
Почему для SocketConnection при любом варианте MyAppServer=nil
Для DCOM же всегда передается некоторый адрес
Возможен ли вызов через сокеты ???
Спасибо


 
Digitman ©   (2002-04-09 14:29) [3]

приношу извинения
правильно будет так :

var
MyAppServer: IMyAppServerDisp;
...

MyAppServer:= IMyAppServerDisp(IDispatch(DCOMConnection.AppServer));

или

MyAppServer:= IDispatch(DCOMConnection.AppServer) as IMyAppServerDisp;

MyAppServer.MyMethod;

где

IMyAppServerDisp = dispinterface
.. декларация диспинтерфейса
end;

Сокеты (TSocketConnection) здесь ни при чем (хотя возможны наравне с DCOM : какой компонент выбрать - дело вкуса и особенности серверной стороны). Это лишь транспортный уровень для трансляции интерфейсных вызовов MIDAS
Все без исключения MIDAS-ориентированные компоненты базируются на TDispatchConnection, где, собственно говоря, и определены св-во AppServer и метод GetServer.

Главное отличие между AppServer и GetServer закл-ся в том, что AppServer (в "голом виде", без приведения типа) предназначен для использования позднего связывания (dual interface), а GetServer - раннего (v-table interface).

AppServer = Null (и, соответственно, GetServer = nil) только в одном случае - это случай, когда TXXXConnection.Active = False. Иными словами - коннект не установлен. При попытке установления коннекта AppServer/GetServer либо примут непустые значения либо произойдет исключение из за невозможности получить доступ к серверу (на том или ином этапе установления программно-логического соединения, этапов не менее чем два : установка соединения на уровне сетевого транспорта и установка соединения с загружаемым объектом, реализующим собственно интерфейсы IMyAppServer/IMyAppServerDisp)



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

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

Наверх




Память: 0.47 MB
Время: 0.016 c
1-55056
Kudatsky
2002-06-05 12:46
2002.06.17
PickList в TDBGrid


6-55255
skovorodka
2002-03-29 14:30
2002.06.17
Как определить ОСь удаленного компа по хосту или ИП


4-55358
IGOREK
2002-04-10 18:21
2002.06.17
Какие есть еще пути реализации глобальных хуков?


3-55010
AFROLOV
2002-05-23 14:31
2002.06.17
Как доступиться до DBF таблицы?


1-55073
PTE
2002-06-04 12:07
2002.06.17
как задать свойство Edit, что бы весь текст набирался в верхнем?