-
Дмитрий Белькевич (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, и дальше...
Куда чего передаётся?