Страница 52 из 59 Компонент TDDeServerConv TObject—>TPersistent->TCoinponent—>TDDeServerConv Модуль DDEMAN Страница Палитры компонентов System В этом компоненте самую важную роль играет единственное свойство — Name. Имя компонента совпадает с именем темы, которую он поддерживает. Клиент должен знать это имя при установлении контакта, за исключением того случая, когда он подключается к данным контакта, которые скопированы в буфер обмена (это реализует компонент TDDEServerItem). В моменты открытия и закрытия контакта возникают события: (ph) property OnOpen: TNotifyEvent; (РЕ) property OnClose: TNotifyEvent; Первоначально протокол DDE был ориентирован только на оперативное получение данных клиентом от сервера, но позже его возможности расширились. Клиент может передать для выполнения серверу набор макрокоманд — для этого у него есть нужные методы. На стороне сервера за их исполнение отвечает обработчик события: (pb) property OnExecuteMacro: TMacroEvent; TMacroEvent= procedure(Sender: TObject; Msg: TStrings) of object; Если вы хотите, чтобы ваш сервер DDE мог исполнять команды, то нужно предусмотреть такой обработчик. Передаваемые команды содержатся в параметре Msg в виде набора строк. Можно вызвать процесс выполнения команд и из приложения, с помощью метода: function ExecuteMacro(Data: HDDeData): Longint; В этом случае параметр Data должен содержать дескриптор строки с командами (типа pChar). |