Конференция "Corba" » Вызов события клиента COM из сервера из неосновного потока.
 
  • Дмитрий Белькевич (30.05.11 14:38) [0]
    Пытаюсь вызывать из COM сервера процедуру клиента (Events). Когда вызываю из основного потока (с помощью метода Synchronize) - то все происходит нормально - вызов приходит на сторону клиента. Когда же вызов идёт из неоснового потока - событие клиент не получает.
    Сервер COM является сервисом, если это имеет значение.

    Сервер создаётся так:


    TAutoObjectFactory.Create(ComServer, TArchive, Class_ArchiveGUI,
     ciMultiInstance, tmApartment);

  • DiamondShark © (01.06.11 11:57) [1]

    > Когда же вызов идёт из неоснового потока - событие клиент
    > не получает.

    В неосновном потоке, конечно же, цикла выборки сообщений нет.
  • Дмитрий Белькевич (06.06.11 17:00) [2]

    > В неосновном потоке, конечно же, цикла выборки сообщений
    > нет.


    Все события клиента нужно обязательно синхронизировать? Или можно как-то без этого обойтись?
  • Дмитрий Белькевич (08.06.11 20:54) [3]
    Послушайте, как вообще происходит вызов Event из сервера на клиент? Расскажите кухню в двух словах, плиз.

    Ну вот вызываю: ArchiveGUIEvents.ShowDCM;

    Кликаю на нём - среда ставит редактор на описание метода интерфейса:


     IArchiveGUIEvents = dispinterface
       ['{C25CBE38-1E0C-483B-877B-52FC88A2E45C}']
       procedure ShowDCM; dispid 201;



    Вызвал ShowDCM, и дальше...

    Куда чего передаётся?
 
Конференция "Corba" » Вызов события клиента COM из сервера из неосновного потока.
Есть новые Нет новых   [118476   +38][b:0][p:0.001]