Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
к экзамену.doc
Скачиваний:
5
Добавлен:
27.10.2018
Размер:
141.82 Кб
Скачать
  1. Свойство LinkTimeout

С помощью свойства LinkTimeout задается промежуток времени (в десятых

долях секунды), в течение которого элемент управления ожидает ответ на запрос

DDE-данных. Некоторые приложения требуют больше времени для ответа на

запросы DDE. Поэтому если при создании связи исходное приложение не

ответит вовремя, значение этого свойства следует увеличить (но не более чем до

пяти секунд).

25.Динамический обмен данными dde. События dde. Пример (фрагмент).

Методы DDE

  1. Метод LinkRequest

Метод LinkRequest запрашивает у приложения-источника данные,

необходимые для обновления содержимого элемента управления. При

автоматическом обновлении данных метод LinkRequest не нужен. Если же при

создании DDE-связи свойству LinkMode было присвоено значение vbLinkNotify,

приложение-источник посылает приемнику сообщение об изменении данных. В

случае ручной связи приемник не уведомляется об изменении в источнике, и

обновление связи выполняется только по запросу.

Private Sub Form_Load ()

Textl.LinkMode = vbLinkNone

Textl.LinkTopic = "Excel I system"

Textl.Linkltem =E "sysitems"

Textl.LinkMode - vbLinkManual

Textl.LinkRequest End

Sub

При установке связи с элементом Topic по имени "System" задание значения

vbLinkAutomatic (автоматическая связь) недопустимо, поэтому данные должны

запрашиваться явно. При ручной связи или связи с уведомлением позаботиться

об актуализации данных следует самостоятельно с помощью метода

LinkRequest.

  1. Метод LinkPoke

Через DDE-связь данные обычно передаются в одном направлении -от источника к приемнику. Однако с помощью метода LinkPoke можно передавать данные и от приемника к источнику, благодаря чему обеспечивается обмен данными в двух направлениях.

Private Sub Form_Load ()

Textl.LinkMode = vbLinkNone

Textl.LinkTopic = "Excel I[mapl.xls]Лист!"

Textl.Linkltem = "R1C1"

Textl.LinkMode ° vbLinkManual End Sub

Private Sub Textl_Change ()

If Textl.LinkMode > vbLinkNone Then Textl.LinkPoke End Sub

В данном примере в процедуре обработки события Form_Load создается связь текстового поля с ячейкой рабочего листа Excel, и при изменении содержимого текстового поля Textl его содержимое передается источнику. Для того чтобы делать ввод при отсутствии связи DDE, проверяется значение LinkMode, и только при активной связи выполняется LinkPoke.

  1. Метод LinkExecute

С помощью метода LinkExecute приложению-источнику посылаются не данные, как это происходит при вызове метода LinkPoke, а команды управления. Чаще всего передаются команды макроязыка данного приложения. control.LinkExecute ~ "[command]"

Textl.Text = "с:\kunden\moser.xls" 'Ввод имени файла Textl.LinkMode ~

vbLinkNone Textl.LinkTopic ~ "Excel I system" Textl.LinkMode -

vbLinkManual an - Chr(34) ' Определяет кавычки

Textl.LinkExecute "[open(" & an & Textl.Text & an & ")]"

В этом примере в Excel открывается файл, имя которого указано в поле TextBox.

Синтаксис команд, которые передаются с помощью LinkExecute, можно найти в

документации к определенному приложению.