Составители:
if( strlen( lpCmdLine ) )
iInst = atoi( lpCmdLine ) ;
else
iInst = 1;
Данные номера не имеют ничего общего с DDEML и служат лишь в
качестве меток. DDEML имеет иное средство идентификации экземпляров
приложений - дескрипторы, передаваемые операционной системой. Для
получения локальных данных предназначен генератор псевдослучайных чисел.
Обычно подобные генераторы должны инициализироваться различными
начальными значениями, иначе они будут всегда генерировать одну и ту же
последовательность чисел. Для этой цели, как правило, применяется Borland-
функция randomize, которая использует в качестве инициализирующего числа
текущее значение системного таймера. Но поскольку в компиляторе Microsoft
эта функция отсутствует, воспользоваться ее аналогом.
#ifdef __BORLANDC__
randomize ();
#еlsе
srand( (unsigned)time( NULL ) );
#endif
Далее первый экземпляр должен запустить остальные четыре экземпляра
приложения с помощью функции WinExec, предоставив ей соответствующие
аргументы командной строки для каждого экземпляра.
switch( iInst )
{ // первый экземпляр запускает остальные
case 1:
xLoc = 195; yLoc = 125;
WinExec( "DDE_DEMO 2", SW_SHOW );
WinExec ( "DDE_DEMO 3", SW_SHOW );
WinExec( "DDE_DEMO 4", SW_SHOW );
WinExec( "DDE_DEMO 5", SW_SHOW );
break;
case 2:
xLoc = 0; yLoc =0;
break;
case 3:
xLoc = 390; yLoc = 0;
break;
case 4:
xLoc = 390; yLoc =250;
58
if( strlen( lpCmdLine ) ) iInst = atoi( lpCmdLine ) ; else iInst = 1; Данные номера не имеют ничего общего с DDEML и служат лишь в качестве меток. DDEML имеет иное средство идентификации экземпляров приложений - дескрипторы, передаваемые операционной системой. Для получения локальных данных предназначен генератор псевдослучайных чисел. Обычно подобные генераторы должны инициализироваться различными начальными значениями, иначе они будут всегда генерировать одну и ту же последовательность чисел. Для этой цели, как правило, применяется Borland- функция randomize, которая использует в качестве инициализирующего числа текущее значение системного таймера. Но поскольку в компиляторе Microsoft эта функция отсутствует, воспользоваться ее аналогом. #ifdef __BORLANDC__ randomize (); #еlsе srand( (unsigned)time( NULL ) ); #endif Далее первый экземпляр должен запустить остальные четыре экземпляра приложения с помощью функции WinExec, предоставив ей соответствующие аргументы командной строки для каждого экземпляра. switch( iInst ) { // первый экземпляр запускает остальные case 1: xLoc = 195; yLoc = 125; WinExec( "DDE_DEMO 2", SW_SHOW ); WinExec ( "DDE_DEMO 3", SW_SHOW ); WinExec( "DDE_DEMO 4", SW_SHOW ); WinExec( "DDE_DEMO 5", SW_SHOW ); break; case 2: xLoc = 0; yLoc =0; break; case 3: xLoc = 390; yLoc = 0; break; case 4: xLoc = 390; yLoc =250; 58
Страницы
- « первая
- ‹ предыдущая
- …
- 56
- 57
- 58
- 59
- 60
- …
- следующая ›
- последняя »