Вниз
Скачать: CL | DM;

Интерфейс, и потоки   Найти похожие ветки 

← →
Александр Б.   (2006-03-10 14:21) [0]

День добрый, имеется программа, котрая подгражает в отдельном потоке библиотеки и обращается в основном потоке к объектам в этих библиотеках через заранее определнный интерфейс. Проблемма состоит в том что методы вызываемых у объектов библиотек отрабабывают в контексте основного потока. Расскажите пожалуйста как покрасивее реализовать работу с объектами в библиотеках так, чтобы методы выполнялись в контексте не основного потока. Если возможно приведите примеры кода.


← →
Сергей М. ©   (2006-03-10 14:27) [1]

Речь идет о OLE/COM ?


← →
Alkid ©   (2006-03-10 14:30) [2]

Вообще любая передача управления между потоками есть нонсенс и единственное решение тут - маршаллинг/демаршаллиинг вызовов.

Варианты решения:
1. Ручками.
2. DCOM/COM+
3. .NET


← →
Александр Б.   (2006-03-10 15:43) [3]


> Сергей М. ©   (10.03.06 14:27) [1]
> Речь идет о OLE/COM ?


Определяюсь с технологиями в зависимости от необходимости, если на COM такое будет возможно то хотел бы использовать его...


> Alkid ©   (10.03.06 14:30) [2]
> Варианты решения:
> 2. DCOM/COM+


Расскажите пожалуйста поподробнее, про второй вариант, если можно с примерами.
И еще вопрос накладывает ли ограничение использования DCOM/COM+ на операционную систему на которой будет запущено приложение?


← →
Alkid ©   (2006-03-10 15:57) [4]


> Расскажите пожалуйста поподробнее, про второй вариант, если
> можно с примерами.

DCOM/COM+ позволяет автоматически реализовывать передачу вызова метода в виде сообщения. В качестве примера могу привести такие случаи, когда объекты в одном процессе вызывались из другого (часто с другого компьюетра). Например, подобное решение применялось у нас в одном проекте.

Ограничения, накладываемые DCOM достаточно суровы:
1. ОС - Windows. Лушче 2000/XP и т.п.
2. Интерфейсы должны быть описаны в библиотеках типов и количество примитивных типов данных, которые в них можно применять строко специфицировано.
3. Не ограничение, но всё же - сама работа с DCOM содержит в себе целую кучу неочевидных тонкостей.


← →
Суслик ©   (2006-03-11 15:35) [5]

Зависит от:
1 того, какие вызовы методов
2 что делают методы
3 какой уровень общности нужен, т.е. тебе нужна методика вызова вообще всего, что угодно, или каких-то конкретных методов.

ты бы сам привел пару примеров, проще было бы отвечать, т.к. вариантов масса.



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.061 c
3-1140344210
Валера
2006-02-19 13:16
2006.04.16
Вставка картинки


15-1143454171
elf_ik
2006-03-27 14:09
2006.04.16
Borland s Delphi goodbye?


2-1144154003
Irmantukas
2006-04-04 16:33
2006.04.16
COM порт. С чего начать?


1-1142101426
Kolan
2006-03-11 21:23
2006.04.16
Как задать нижний предел для Series Area у TChart .


1-1142345678
tesseract
2006-03-14 17:14
2006.04.16
COM-сервер и procedural var




   Наверх