410______________________________________________Глава 6

ких приложений в режиме отладки возможен только в случае, если вы работа-
ете в Windows NT.

Проверьте наличие связи с разными серверами по разным темам.
Мы рассмотрели запрос к серверу, посылаемый методом RequestData. Возмо-
жен и другой способ связи с сервером — через буфер обмена Clipboard. Для того,
чтобы можно было связаться с сервером, пославшим информацию в Clipboard, су-
ществует метод PasteLink компонента DdeClientConv. Поместите в обработчик
щелчка кнопки Clipboard команду

DdeClientConvl->PasteLink();

Запустите опять ваше приложение на выполнение, запустив одновременвд
ваши серверы. Нажимая кнопки Clipboard того или иного сервера и затем нажимая
кнопку Clipboard клиента, вы увидите, что в данном случае связь осуществляется
тем сервером, который последним поместил информацию в буфер обмена.

6.5.3.4 Постоянное отслеживание информации на сервере

Выше были рассмотрены варианты разовых запросов к серверам. Теперь :

смотрим, как можно постоянно наблюдать за сервером, осуществляя его операт'
ный мониторинг. Сделать это очень просто. Надо соединиться с сервером и, не!
крывая этого соединения, установить свойство DDEItem компонента DdeClienI
tern равным имени того компонента DdeServerItem на сервере, информацию отщ
торого требуется получать. До тех пор, пока соединение открыто, изменяющая
информация с сервера постоянно будет поступать на компонент DdeClientItel
клиента.

Чтобы осуществить это в вашем приложении-клиенте, в обработчик щелчка]
на кнопке SBLink с надписью Контакт вставьте следующий код:

if (SBLink->Down)
(
if(( ! DdeClientConvl->SetLink(CBServer->Text,CBTopics->Text))

I I ! DdeClientConvl->OpenLink())

ShowMessage("Нет контакта с сервером '" + CBServer->Text
+ "' по теме '" + CBTopics->Text + "'");

t

else
f
DdeClientConvl->CloseLink() ;

Editl->Text = "";

1

Если кнопка SBLink нажата, то тем же способом, что и ранее, осуществляется
связь с сервером. Эта связь разрывается только при отпускании кнопки SBLink. |
Запустите приложение, установите в списках сервер и тему, по которым хотите!
осуществить связь, и нажмите кнопку Контакт. В окне редактирования появится •
информация, переданная с сервера. Это все было и ранее. Теперь войдите в приж
жение-сервер, с которым вы связались, и попробуйте изменять информацию в сг
окне редактирования. Вы увидите, что все эти изменения немедленно отображаю
ся в окне приложения-клиента. Таким образом между двумя приложениями уст
новлен постоянный контакт. Он прервется только когда вы отпустите в прилон;

нии-клиенте кнопку Контакт.

6.5.3.5 Передача информации от клиента к серверу

Все ранее описанное было связано с передачей информации в направлении с
сервера к клиенту. Однако имеется возможность передавать информацию и в о''
ратном направлении — от клиента к серверу. Это может осуществляться методам
PokeData, PokeDataLines, ExecuteMacro и ExecuteMacroLines компонента DdeC
lientConv.