Составители:
Рубрика:
ет от сервера уведомление об изменении данных, но не отправляет ему сооб-
щения с запросом данных. Вместо этого DDEML посылает клиенту сообщение
XTYP_ADVDATA
с пустым дескриптором блока данных.
Сервер, который не поддерживает транзакции с обязательным и полуобя-
зательным ответом, должен установить флаг CBF_FAIL_ADVISES
в функции DdeInitialize(). Таким образом он предотвратит получение нежела-
тельных сообщений XTYP_ADVSTART и XTYP_ADVSTOP.
Для получения нового значения элемента данных клиент должен выпол-
нить транзакцию с необязательным ответом (рис. 9.3):
1. Сервер объявляет о поступлении новых данных.
2. DDEML информирует клиента, но клиент игнорирует это уведомле-
ние. Уведомления будут посылаться клиенту всякий раз при изменении дан-
ных на сервере, однако клиент может проигнорировать их всех.
3. Сервер вновь объявляет об изменениях в запрашиваемом элементе
данных.
4. Клиент откликается, запрашивая данные (сообщение
XTYP_REQUEST).
5. DDEML передает запрос серверу.
6. Сервер посылает запрашиваемые данные клиенту
Рис. 9.3. Цикл транзакции с полуобязательным ответом
9.3.4. Принудительные и командные транзакции
Некоторые серверы предпочитают получать данные от клиента иным спо-
124
ет от сервера уведомление об изменении данных, но не отправляет ему сооб-
щения с запросом данных. Вместо этого DDEML посылает клиенту сообщение
XTYP_ADVDATA с пустым дескриптором блока данных.
Сервер, который не поддерживает транзакции с обязательным и полуобя-
зательным ответом, должен установить флаг CBF_FAIL_ADVISES
в функции DdeInitialize(). Таким образом он предотвратит получение нежела-
тельных сообщений XTYP_ADVSTART и XTYP_ADVSTOP.
Для получения нового значения элемента данных клиент должен выпол-
нить транзакцию с необязательным ответом (рис. 9.3):
1. Сервер объявляет о поступлении новых данных.
2. DDEML информирует клиента, но клиент игнорирует это уведомле-
ние. Уведомления будут посылаться клиенту всякий раз при изменении дан-
ных на сервере, однако клиент может проигнорировать их всех.
3. Сервер вновь объявляет об изменениях в запрашиваемом элементе
данных.
4. Клиент откликается, запрашивая данные (сообщение
XTYP_REQUEST).
5. DDEML передает запрос серверу.
6. Сервер посылает запрашиваемые данные клиенту
Рис. 9.3. Цикл транзакции с полуобязательным ответом
9.3.4. Принудительные и командные транзакции
Некоторые серверы предпочитают получать данные от клиента иным спо-
124
Страницы
- « первая
- ‹ предыдущая
- …
- 122
- 123
- 124
- 125
- 126
- …
- следующая ›
- последняя »
