Операционные системы. Марапулец Ю.В. - 62 стр.

UptoLike

Составители: 

сообщение 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