![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как запустить приложения по очереди?
Doom-2 © (2007-05-04 14:06:00)Все мы знаем - как сильно подвешивает компьютер копирование большого объёма данных! У меня проблема возникла в том, что за один компьютер в течении дня садятся несколько пользователей и ... копируют, причём почти одно и то-же. Для того, чтобы облегчить их работу, я решил написать программу.
Решить проблему с возможным "подвешиванием" я хочу так: программа при запуске должна проверить - не запущен ли второй её экземпляр на данном компьютере, если запущена (уже кто-то начал копировать файлы для себя), она "встаёт в очередь" и ожидает закрытия всех ЗАПУЩЕННЫХ ДО НЕЁ экземпляров моего приложения!
Спросить, соответственно, я хотел:
1. Как это возможно реализовать (постановка в очередь)?
2. Как при этом организовать какое-нибудь окно "Log очереди"(Выполняется: Петров; Следующие: 1.Иванов, 2.Сидоров)? Было бы замечательно ещё и сделать возможным - регулировать (вручную) порядок в очереди "Следующие".
3. Возможен при таком "конвеерном" режиме конфликт между запущенными экземплярами?
clickmaker (2007-05-04 16:40:00) [1]TThread + F1 - там есть примеры
Doom-2 (2007-05-04 16:36:00) [2]Прошу прощения на безграмотность, но как это сделать?
clickmaker (2007-05-04 16:32:00) [3]
> На время работы внешнего приложения моя программа зависает!
запускай в отдельном потоке
Doom-2 (2007-05-04 16:10:00) [4]За тебя это сделали в TC - добавление в очередь
Копирование - не единственная задача! Я упрощаю, чтобы было понятнее суть вопроса!
Doom-2 (2007-05-04 16:09:00) [5]CreateProcess + WaitForSingleObject(hProcess)
Я так и делал! - На время работы внешнего приложения моя программа зависает!
Elen (2007-05-04 16:08:00) [6]
> я решил написать программу.
За тебя это сделали в TC - добавление в очередь
clickmaker (2007-05-04 16:07:00) [7]
> запустить внешнее приложение и ожидать его завершения не
> зависая
CreateProcess + WaitForSingleObject(hProcess)
Doom-2 (2007-05-04 15:58:00) [8]Идея с программой-менеджером интересная!
Но тогда мне как минимум нужно знать как запустить внешнее приложение и ожидать его завершения не зависая :-) ??
Virgo_Style (2007-05-04 14:14:00) [9]Программа-копировщик ищет программу-менеджер, если не нашла - запускает, передает ей информацию о своем задании и ждет сигнала начинать. По завершении может дать сигнал или просто завершиться, тогда менеджер должен следить за завершением.
Можно также реализовать все в одной программе, вновь запущенные экземпляры будут просто передавать уже запущенному свои данные и завершаться.