Re: Помогите в изучении СОМ
От: pvgoran Россия  
Дата: 01.08.05 03:02
Оценка:
Здравствуйте, Pelerin, Вы писали:

P>Каким образом в ВСВ6 заставить СОМ-сервер отправить инфу на два и более клиента? Например, по нажатию кнопки на сервере данные с Edit отправить в клиенские Memo... Заранее спасибо...


А для одного клиента все уже реализовано и работает? (Все, что написано ниже, предполагает, что — нет, не реализовано или не работает.)

По-моему, COM не предназначен для работы в подобных сценариях — COM-серверы не взаимодействуют с пользователем напрямую (через GUI).

Здесь можно воспользоваться "низкоуровневыми" средствами межпроцессного взаимодействия (сокеты, named pipes). Или использовать-таки COM, но по-другому: есть "главный" клиент (на котором кнопка и EditBox), есть много периферийных клиентов (на которых Memo), и есть (невидимый) сервер, к которому они все подключаются и через которого идет передача сообщений от главного клиента к периферийным.

Вариант с COM, по-моему, не очень хорош, т.к.:

1. Он скрывает детали и будет непонятно, почему оно работает или, наоборот, не работает;

2. На сервере придется (насколько я понимаю) делать неочевидные манипуляции с потоками, чтобы избежать возможных блокировок и задержек;

3. Адрес сервера скорее всего придется настраивать вне приложения (если предполагается, что программы будут работать на нескольких компьютерах, а не на одном);

4. См. п. 1.
... << RSDN@Home 1.1.4 stable rev. 510>>
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.