Составители:
TranslateMessage( smsg );
DispatchMessage( smsg ) ;
}
Когда приложение будет готово завершить свою работу, желательно
выполнить набор обычных в таких случаях операций очистки, в том числе
вызвать функцию DestroyWindow,а затем - функцию UnregisterClass.
DestroyWindow( hwnd ) ;
UnregisterClass( szAppTitle, hInstance );
4. Рассмотреть реакцию приложений на сообщения.
Первая выполняемая
транзакция - это XTYP_CONNECT.
Поскольку уже были заданы параметры
фильтрации (посредством функции DdeInitialize), любые поступающие запросы
на подключение предназначены текущему DDE-приложению и могут быть
приняты путем возвращения значения TRUE.
case XTYP_CONNECT: return( TRUE ) ;
Кроме того, поскольку транзакции XTYP_WILDCONNECT
не
обрабатываются, попытки установить "обобщенные" подключения
автоматически завершатся неудачно.
При получении запроса XTYP_ADVSTART
выполняется операция
проверки, позволяющая обеим программам (клиенту и серверу) убедиться в
том, что соединение установлено именно с тем приложением и именно по той
теме, которые предполагались.
case XTYP_ADVSTART:
return( (UINT) wFmt == hFormat && hszItem == hszAppName );
Если какой-либо из аргументов не соответствует требованиям,
возвращается значение FALSE
и диалог прекращается. Транзакция
XTYP_REGISTER
уведомляет о появлении нового приложения; в ответ
обновляется список подключений hConvList и передается сообщение
XTYP_ADVSTART.
case XTYP_REGISTER:
hConvList = DdeConnectList( idInst, hszItem, hszAppName,
hConvList, NULL );
PostTransaction( NULL, 0, XTYP_ADVSTART );
UpdateWindow( hwnd ) ;
return ( TRUE ) ;
60
TranslateMessage( smsg ); DispatchMessage( smsg ) ; } Когда приложение будет готово завершить свою работу, желательно выполнить набор обычных в таких случаях операций очистки, в том числе вызвать функцию DestroyWindow,а затем - функцию UnregisterClass. DestroyWindow( hwnd ) ; UnregisterClass( szAppTitle, hInstance ); 4. Рассмотреть реакцию приложений на сообщения. Первая выполняемая транзакция - это XTYP_CONNECT. Поскольку уже были заданы параметры фильтрации (посредством функции DdeInitialize), любые поступающие запросы на подключение предназначены текущему DDE-приложению и могут быть приняты путем возвращения значения TRUE. case XTYP_CONNECT: return( TRUE ) ; Кроме того, поскольку транзакции XTYP_WILDCONNECT не обрабатываются, попытки установить "обобщенные" подключения автоматически завершатся неудачно. При получении запроса XTYP_ADVSTART выполняется операция проверки, позволяющая обеим программам (клиенту и серверу) убедиться в том, что соединение установлено именно с тем приложением и именно по той теме, которые предполагались. case XTYP_ADVSTART: return( (UINT) wFmt == hFormat && hszItem == hszAppName ); Если какой-либо из аргументов не соответствует требованиям, возвращается значение FALSE и диалог прекращается. Транзакция XTYP_REGISTER уведомляет о появлении нового приложения; в ответ обновляется список подключений hConvList и передается сообщение XTYP_ADVSTART. case XTYP_REGISTER: hConvList = DdeConnectList( idInst, hszItem, hszAppName, hConvList, NULL ); PostTransaction( NULL, 0, XTYP_ADVSTART ); UpdateWindow( hwnd ) ; return ( TRUE ) ; 60
Страницы
- « первая
- ‹ предыдущая
- …
- 58
- 59
- 60
- 61
- 62
- …
- следующая ›
- последняя »