Автор | Сообщение |
|
| постоянный участник
|
Пост N: 1786
Зарегистрирован: 12.09.06
|
|
Отправлено: 12.06.11 04:05. Заголовок: Как "заморозить" выполнение программы ?
Всем привет. Подскажите как можно остановить (заморозить) выполнение программы до выполнения определенного события в другой программе ? Т.е. я из своей программы на хХарборе (терминалка) запускаю допустим программу "Скачивания из инета" на МиниГуи. Терминалку на хХарборе нужно "заморозить" до конца скачивания ! Иначе ЮЗВЕР будет тыкать мышкой раньше времени.... После того как скачался файл нужно вернуться обратно в терминалку на хХарборе ! Можно конечно сделать "семафорный файл" после получения файла из инета, а в хХарборе проверять каждую минуту есть такой файл или нет. Но это можно было делать и на Клипере (проверку файла). А что нам может предложить хХарбор ?
|
|
|
Ответов - 66
, стр:
1
2
3
4
All
[только новые]
|
|
|
| постоянный участник
|
Пост N: 3278
Зарегистрирован: 17.02.12
|
|
Отправлено: 04.07.20 19:48. Заголовок: PS Ф-я с mutex, была..
PS Ф-я с mutex, была выше, используется для блокировки повторных запусков с иконки, far кликами Enter-ом. Разрешаются повторные запуски проги с одного каталога + ini файл, т.е. с разными ini (беру без пути), можно делать запуски одной программы уст. в какую то dir, а повторный запуск с этим ini не пройдет, причем я не даю никаких сообщений на это, просто выхожу из запуска если mutex уже есть. Т.е. с одного каталога установки программу можно запускать с разными ini (в них указание на базу) Имя mutex формирую upper(hb_ProgName() + cDop) в ф-ии видно алгоритм. В hmg ф-я IsExeRuning() так же использует mutex, но только из имени exe, жесткая блокировка 2 запуска проги.
|
|
|
|
| |
Пост N: 1567
Зарегистрирован: 20.02.11
|
|
Отправлено: 04.07.20 21:44. Заголовок: Спасибо за информаци..
Спасибо за информацию, попробую
|
|
|
|
| постоянный участник
|
Пост N: 7494
Зарегистрирован: 12.09.06
|
|
Отправлено: 01.08.23 11:50. Заголовок: Всегда использовал и..
Andrey пишет: цитата: | Подскажите как можно остановить (заморозить) выполнение программы до выполнения определенного события в другой программе ? |
| Смотреть пример у Григория \samples\Advanced\FreezeAppExecution) ! Всегда использовал и считал что невозможно запустить вторую копию программы... // Проверка на запуск второй копии программы OnlyOneInstance( PROGRAM ) Однако мои юзера опровергли это мнение... Можно запустить вторую копию программы при одном условии, если комп/сервер-терминала выводишь из спящего режима, то вторую копию программы можно запустить. Сам так один раз смог у себя сделать, повторно не смог. Как это (второй запуск) можно железно прекратить ? Только нужно учитывать, что прога может запускаться на сервере-терминалов у разных пользователей одновременно.
|
|
|
|
| постоянный участник
|
Пост N: 4361
Зарегистрирован: 17.02.12
|
|
Отправлено: 01.08.23 12:33. Заголовок: Andrey Используй (с..
Andrey Используй (с mutex) SET MULTIPLE QUIT // выход без сообщения или SET MULTIPLE QUIT WARNING // выход с сообщением или ф-ей IsExeRunning( StrTran( GetExeFileName (), '\', '_' ) ) где параметр (цветом) может быть каталог, ini файл, ... что будет идентифицировать уникальность запуска
|
|
|
|
| постоянный участник
|
Пост N: 7495
Зарегистрирован: 12.09.06
|
|
Отправлено: 01.08.23 13:00. Заголовок: SergKis пишет: SET ..
SergKis пишет: цитата: | SET MULTIPLE QUIT WARNING // выход с сообщением |
| А туда можно прикрутить переключение на хендл запущеной программы ?
|
|
|
|
| постоянный участник
|
Пост N: 4362
Зарегистрирован: 17.02.12
|
|
Отправлено: 01.08.23 13:09. Заголовок: Andrey пишет А туда ..
Andrey пишет цитата: | А туда можно прикрутить переключение на хендл запущеной программы ? |
| Это команда препроцессора, так что замени и делай, что надо #translate SET MULTIPLE QUIT [ <warning: WARNING> ] ; => ; iif ( _HMG_IsMultiple , ( iif ( <.warning.> , AlertStop( _HMG_MESSAGE\[4] ) , ) , ExitProcess() ) , ) значение _HMG_IsMultiple такое (PROCEDURE Init) _HMG_IsMultiple := IsExeRunning ( StrTran( GetExeFileName (), '\', '_' ) )
|
|
|
Ответов - 66
, стр:
1
2
3
4
All
[только новые]
|
|