Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как запустить приложения по очереди?


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]

Программа-копировщик ищет программу-менеджер, если не нашла - запускает, передает ей информацию о своем задании и ждет сигнала начинать. По завершении может дать сигнал или просто завершиться, тогда менеджер должен следить за завершением.

Можно также реализовать все в одной программе, вновь запущенные экземпляры будут просто передавать уже запущенному свои данные и завершаться.


Наверх

Титульная страница Поиск, карта сайта Написать письмо