Главная страница
    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.45 MB
Время: 0.006 c
3-55025
thedigit
2002-05-23 20:09
2002.06.17
Проблемы с EhLib


6-55241
novomod
2002-04-07 15:17
2002.06.17
Help.TClientSocket and TServerSocket.


7-55339
Miron12
2002-03-15 11:52
2002.06.17
Вопрос по сервисам под win2000!!!


1-55203
igorfed
2002-06-03 11:17
2002.06.17
F1Book - шрифты


14-55314
Marser
2002-05-16 23:06
2002.06.17
Валерий Васильевич Лобановский





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский