Составители:
сообщение WM_PAINT,
когда в цикле опрашиваются все участники текущего
диалога.
Такая транзакция может инициироваться по разным причинам и при
различных обстоятельствах - например, по периодическим сигналам таймера
или в ответ на изменение определенных значений. Используемый тип
обработки связан с особенностями демонстрационной программы.
Остается последний тип транзакций, XTYP_EXECUTE
(другое
приложение или другой экземпляр просит текущий экземпляр приложения
выполнить определенные действия). Но прежде чем определить, какие действия
запрашиваются, необходимо получить доступ к данным с помощью функции
DdeAccessData, которая возвращает локальный указатель строковых данных
(локальный по отношению к данному экземпляру приложения и к данной
процедуре).
case XTYP_EXECUTE:
pszExec = DdeAccessData( hData, sdwSize );
if( pszExec )
{
Необязательный параметр dwSize содержит информацию о длине
возвращаемой строки. Если нет необходимости знать это значение, аргументу
dwSize можно присвоить значение NULL.
Если параметр pszExec не равен NULL
(т.е. указывает на строку),
следующий этап заключается в определении запрашиваемой команды.
if( ! stricmp( "PAUSE", pszExec ) )
PauseAutomatic( hwnd );
else
if( ! stricmpt "RESUME", pszExec ) )
ResumeAutomatic( hwnd );
Здесь представлены только две возможные команды, которые
описываются ключевыми словами PAUSE
(пауза) и RESUME (продолжить) и
вызывают соответствующие подпрограммы.
Поскольку операторы switch/case могут принимать только целочисленные
аргументы, приходится выполнять серию операторов if/else для проверки строк.
При большом количестве операций проверки это может привести к
усложнению структуры программы.
В качестве альтернативного варианта предлагается воспользоваться
циклической проверкой совпадения строковых аргументов с фиксированными
записями в таблице строк с последующим использованием найденного номера
строки в операторе switch/case.
5. Рассмотреть технологию DDE в процедуре WndProc
, которая управляет
работой программы DDE_Demo. При создании каждого экземпляра приложения
62
сообщение WM_PAINT, когда в цикле опрашиваются все участники текущего диалога. Такая транзакция может инициироваться по разным причинам и при различных обстоятельствах - например, по периодическим сигналам таймера или в ответ на изменение определенных значений. Используемый тип обработки связан с особенностями демонстрационной программы. Остается последний тип транзакций, XTYP_EXECUTE (другое приложение или другой экземпляр просит текущий экземпляр приложения выполнить определенные действия). Но прежде чем определить, какие действия запрашиваются, необходимо получить доступ к данным с помощью функции DdeAccessData, которая возвращает локальный указатель строковых данных (локальный по отношению к данному экземпляру приложения и к данной процедуре). case XTYP_EXECUTE: pszExec = DdeAccessData( hData, sdwSize ); if( pszExec ) { Необязательный параметр dwSize содержит информацию о длине возвращаемой строки. Если нет необходимости знать это значение, аргументу dwSize можно присвоить значение NULL. Если параметр pszExec не равен NULL (т.е. указывает на строку), следующий этап заключается в определении запрашиваемой команды. if( ! stricmp( "PAUSE", pszExec ) ) PauseAutomatic( hwnd ); else if( ! stricmpt "RESUME", pszExec ) ) ResumeAutomatic( hwnd ); Здесь представлены только две возможные команды, которые описываются ключевыми словами PAUSE (пауза) и RESUME (продолжить) и вызывают соответствующие подпрограммы. Поскольку операторы switch/case могут принимать только целочисленные аргументы, приходится выполнять серию операторов if/else для проверки строк. При большом количестве операций проверки это может привести к усложнению структуры программы. В качестве альтернативного варианта предлагается воспользоваться циклической проверкой совпадения строковых аргументов с фиксированными записями в таблице строк с последующим использованием найденного номера строки в операторе switch/case. 5. Рассмотреть технологию DDE в процедуре WndProc, которая управляет работой программы DDE_Demo. При создании каждого экземпляра приложения 62
Страницы
- « первая
- ‹ предыдущая
- …
- 60
- 61
- 62
- 63
- 64
- …
- следующая ›
- последняя »