Вход


Главная страница >> Учебный процесс >> Конспекты >> Delphi. Библиотека визуальных компонентов VCL >> Описание компонентов VCL >> Динамический обмен данными (DDE) >> Динамический обмен данными (DDE). TDDEClientItem
Переход на главную страницу

Сервер поддерживается
кафедрой информатики и вычислительной техники ГрГУ
тел. +375-(0)152-445-101
E-mail :
kadan@grsu.grodno.by


[Назад]    [Содержание ]    [Вперед]

  


Динамический обмен данными (DDE). TDDEClientItem


TObject=>TPersistent=>TComponent=>TDDEClientItem
Модуль DDEMAN
Страница Палитры компонентов System

Этот компонент представляет элемент данных на клиентской стороне. После установления контакта с сервером нужно присвоить свойству

(Pb) property DDEConv: TDDEClientConv;

указатель на объект, соответствующий появившемуся контакту, а свойству

(Pb) property DDEItem: String;

имя элемента данных сервера. В этом случае все изменения будут отслеживаться.

В рассмотренном ниже примере приложение-клиент вступает в контакт с сервером InfoServer на тему TimeTopic. При нажатии кнопки TimeButton связь устанавливается, при отпускании ? разрывается. Метод TimeConvOpen, служащий обработчиком события OnOpen, присваивает значения именам темы и элемента данных.

const
═════InfoServer = 'infoserv';
═════TimeConversation = 'TimeTopic';
═════ServerTimeItem = 'Timeltem' ;
═════SCannotStart = 'Cannot start conversation';

procedure TForm1.TimeButtonClick(Sender: TObject);
begin
═════if TimeButton.Down then
══════════begin
═══════════════if not TimeConv.SetLink(InfoServer, TimeConversation) or
═════════════════════════not TimeConv.OpenLink then
════════════════════begin
═════════════════════════MessageDlg(SCannotStart, mtError, [mbOk], 0) ;
═════════════════════════TimeButton.Down := False;
════════════════════end
══════════end
═════else TimeConv.CloseLink;
end;

procedure TForm1.TimeConvOpen(Sender: TObject) ;
begin
═════ClientTimeItem.DDEConv := TimeConv;
═════ClientTimeItem.DDEItem := ServerTimeItem;
end;

Организация данных у клиента сходна с той, которая принята на сервере:

(Pb) property Text: String;

(Pb) property Lines: TStrings;

Свойство Text является подмножеством Lines и содержит первую строку этого набора.

Когда изменяются данные на сервере, эти изменения отражаются в TDDEClientItem. В этот момент происходит событие:

(Pb) property OnChange: TNotifyEvent;

В обработчике этого события и нужно предусмотреть реакцию на изменение данных ? пересчет формулы, обновление текста и т. п.



[Назад]    [Содержание ]    [Вперед]

  


Для комментария : kadan@grsu.grodno.by

  
За содержание страницы отвечает Гончарова М.Н.
©
Кафедра СПиКБ, 2002-2017