Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Сети";
Текущий архив: 2002.06.17;
Скачать: [xml.tar.bz2];

Вниз

Вызов интерфейса из 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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.45 MB
Время: 0.112 c
3-54985
VikOs
2002-05-22 19:14
2002.06.17
SQL


1-55212
vajo
2002-06-05 11:15
2002.06.17
DateTime


1-55166
Stranger
2002-05-30 18:28
2002.06.17
Поворт текста в Image


1-55189
Stass
2002-06-05 00:06
2002.06.17
MDI


1-55211
Zamiran
2002-06-05 11:45
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
Английский Французский Немецкий Итальянский Португальский Русский Испанский