ConnectionPoints
От: alf_8  
Дата: 20.12.06 18:42
Оценка:
День добрый!!

пытаюсь написать OPC сервер на C#, только вот пока не очень получается..

не могу разобраться с ConnectionPoints.

у клиента есть метод


private void AdviseIOPCDataCallback()
{
        Type    sinktype = typeof( IOPCDataCallback );
        Guid    sinkguid = sinktype.GUID;
        
        cpointcontainer.FindConnectionPoint( ref sinkguid, out callbackcpoint );
        if( callbackcpoint == null )
            return;

        callbackcpoint.Advise( this, out callbackcookie );
        }



он дергает метод сервера FindConnectionPoint.

Вопрос: как должен быть реализован этот метод на сервере, чтобы возвращать ConnectionPoint?

Сейчас у сервера есть метод, который был сгенерирован автоматически (из интерфейса):


public void FindConnectionPoint(ref Guid riid, out UCOMIConnectionPoint ppCP)
        {
            ppCP = null;
        }


подскажите, как можно достать нужный ConnectionPoint в этом методе. и вообще, по верному пути ли я иду.

заранее благодарен.
Re: ConnectionPoints
От: Аноним  
Дата: 21.12.06 08:32
Оценка:
Здравствуйте, alf_8, Вы писали:

_>День добрый!!


_>пытаюсь написать OPC сервер на C#, только вот пока не очень получается..


_>не могу разобраться с ConnectionPoints.


_>у клиента есть метод



_>
_>private void AdviseIOPCDataCallback()
_>{
_>        Type    sinktype = typeof( IOPCDataCallback );
_>        Guid    sinkguid = sinktype.GUID;
        
_>        cpointcontainer.FindConnectionPoint( ref sinkguid, out callbackcpoint );
_>        if( callbackcpoint == null )
_>            return;

_>        callbackcpoint.Advise( this, out callbackcookie );
_>        }
_>



_>он дергает метод сервера FindConnectionPoint.


он не дергает а подписывается на событие сервера

_>Вопрос: как должен быть реализован этот метод на сервере, чтобы возвращать ConnectionPoint?


CONNECTION_POINT_MAP + поддерживать интерфейс IConnectionPointContainer + Fire_MyEvent

_>Сейчас у сервера есть метод, который был сгенерирован автоматически (из интерфейса):


_>подскажите, как можно достать нужный ConnectionPoint в этом методе. и вообще, по верному пути ли я иду.


учи матчасть для начала

_>заранее благодарен.


Re[2]: ConnectionPoints
От: alf_8  
Дата: 21.12.06 11:41
Оценка:
_>>он дергает метод сервера FindConnectionPoint.

А>он не дергает а подписывается на событие сервера


_>>Вопрос: как должен быть реализован этот метод на сервере, чтобы возвращать ConnectionPoint?


А>CONNECTION_POINT_MAP + поддерживать интерфейс IConnectionPointContainer + Fire_MyEvent


_>>Сейчас у сервера есть метод, который был сгенерирован автоматически (из интерфейса):


_>>подскажите, как можно достать нужный ConnectionPoint в этом методе. и вообще, по верному пути ли я иду.


А>учи матчасть для начала


_>>заранее благодарен.


А>



а можно поподробнее?
Re[2]: ConnectionPoints
От: alf_8  
Дата: 21.12.06 11:55
Оценка:
_>>он дергает метод сервера FindConnectionPoint.

А>он не дергает а подписывается на событие сервера


_>>Вопрос: как должен быть реализован этот метод на сервере, чтобы возвращать ConnectionPoint?


А>CONNECTION_POINT_MAP + поддерживать интерфейс IConnectionPointContainer + Fire_MyEvent


_>>Сейчас у сервера есть метод, который был сгенерирован автоматически (из интерфейса):


_>>подскажите, как можно достать нужный ConnectionPoint в этом методе. и вообще, по верному пути ли я иду.


А>учи матчасть для начала


_>>заранее благодарен.


А>




точнее немного другой вопрос: как сделать CONNECTION_POINT_MAP + поддерживать интерфейс IConnectionPointContainer + Fire_MyEvent на C#?
больше всего интересует CONNECTION_POINT_MAP..

не могли бы вы скинуть какой-нибудь простенький пример, отражающий суть.
Re[3]: ConnectionPoints
От: Аноним  
Дата: 22.12.06 10:37
Оценка:
Здравствуйте, alf_8, Вы писали:

_>точнее немного другой вопрос: как сделать CONNECTION_POINT_MAP + поддерживать интерфейс IConnectionPointContainer + Fire_MyEvent на C#?

_>больше всего интересует CONNECTION_POINT_MAP..

Так делается в ATL 8.0 С++, а насчет C# не знаю — может быть .NET Remoting тебе поможет
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.