Справочник по компонентам Delphi. Часть 2
Страница 53. Компонент TDDeServerltem


Компонент TDDeServerltem

TObject—”TPersistent—>TConiponent-”TDDeServerI tern
Модуль DDEMAN
Страница Палитры компонентов System

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

только текстовыми данными. Так что свойство, содержащее формат обмена данными,

property Fmt: Integer;

всегда равно CF_TEXT. Данные содержатся в свойствах:

(^ property Text: string;

(Йэ) property Lines: TStrings;

По сути дела, первое свойство представляет собой подмножество второго. При чтении Text равен первой строке Lines. Но если вы присваиваете ему значение, все прочие строки Lines очищаются. Элемент данных должен быть связан с определенной темой. В свойстве:

(Pb) property ServerConv: TDDeServerConv;

может быть задана ссылка на компонент типа TDDEServerConv, чье имя будет темой контакта DDE. Можно обойтись и без использования такого компо­нента. В этом случае именем темы будет являться заголовок (Caption) той формы, которая содержит TDDEServerItem. Элемент данных может быть скопирован в буфер обмена в специальном фор­мате (в виде информации о контакте), с помощью метода:

procedure CopyToClipboard;

Для вступления в контакт посредством буфера обмена клиент может вызвать функцию GetPasteLinkInfo (см. ниже), и, проанализировав имена сервера, темы и элемента, принять решение о вступлении. Клиент может переустановить данные сервера. При переустановке возникает событие:

(Pb) property OnPokeData: TNotifyEvent;

Кроме того, для этого вами может быть использован метод:

function PokeData(Data: HDDeData): Longint;

Параметр Data должен представлять собой дескриптор области памяти, в которой содержится текстовая строка типа pChar. В отличие от OnPokeData, событие:

(Pb) property OnChange: TNotifyEvent;

возникает при любом изменении данных, как при присвоении значений свой­ствам Text или Lines, так и при вызове PokeData. Оно может также быть вызвано явно из метода:    ^

procedure Change;
 
 
« Предыдущая статья   Следующая статья »