Составители:
Рубрика:
чить сообщение о разрыве подключения. При этом они должны закрыть соответст-
вующие структуры данных. В случае закрытия приложения (или если оно больше не
собирается устанавливать подключения к другим приложениям) программа должна
отменить инициализацию всех DDEML-функций обратного вызова.
При вызове функции DdeUninitialize() информация о сервисе удаляется из
DDEML-таблиц, все активные в данный момент диалоги прекращаются
и происходит рассылка сообщения XTYP_UNREGISTER
всем DDEML-
функциям обратного вызова. Этапы процесса завершения диалога и отключе-
ния от DDEML показаны на рис. 9.4.
Рис. 9.4. Процесс закрытия клиента и сервера
При возникновении ошибки DDE-функция возвращает значение NULL
или FALSE. Более подробная информация об ошибке может быть получена с
помощью функции DdeGetLastError():
UINT DdeGetLastError( DWORD dwInstID );…
Поскольку функция DdeGetLastError() требует задания идентификатора
экземпляра приложения, она не может применяться для получения информа-
ции об ошибке в случае невыполнения функции DdeInitialize(). Поэтому она
возвращает собственные, расширенные коды ошибок:
DMLERR_NO_ERROR – успешная инициализация;
DMLERR_DLL_USAGE – программа зарегистрирована для DDE-
мониторинга и не может использовать DDEML для выполнения транзакций;
DMLERR_INVALIDPARAMETER – параметр содержит недопустимую
информацию;
126
чить сообщение о разрыве подключения. При этом они должны закрыть соответст-
вующие структуры данных. В случае закрытия приложения (или если оно больше не
собирается устанавливать подключения к другим приложениям) программа должна
отменить инициализацию всех DDEML-функций обратного вызова.
При вызове функции DdeUninitialize() информация о сервисе удаляется из
DDEML-таблиц, все активные в данный момент диалоги прекращаются
и происходит рассылка сообщения XTYP_UNREGISTER всем DDEML-
функциям обратного вызова. Этапы процесса завершения диалога и отключе-
ния от DDEML показаны на рис. 9.4.
Рис. 9.4. Процесс закрытия клиента и сервера
При возникновении ошибки DDE-функция возвращает значение NULL
или FALSE. Более подробная информация об ошибке может быть получена с
помощью функции DdeGetLastError():
UINT DdeGetLastError( DWORD dwInstID );…
Поскольку функция DdeGetLastError() требует задания идентификатора
экземпляра приложения, она не может применяться для получения информа-
ции об ошибке в случае невыполнения функции DdeInitialize(). Поэтому она
возвращает собственные, расширенные коды ошибок:
DMLERR_NO_ERROR – успешная инициализация;
DMLERR_DLL_USAGE – программа зарегистрирована для DDE-
мониторинга и не может использовать DDEML для выполнения транзакций;
DMLERR_INVALIDPARAMETER – параметр содержит недопустимую
информацию;
126
Страницы
- « первая
- ‹ предыдущая
- …
- 124
- 125
- 126
- 127
- 128
- …
- следующая ›
- последняя »
