![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Ошибка при вызове CreateProcess
Fr © (2011-08-18 11:32:00)Задача: перезапустить приложение по определенному условию.
Пытаюсь сделать так: запускается основная программа и вторая, которая будет перезапускать основную по условию.
Условие выполняется в основной программе, передается команда второй программе и первая закрывается по Close основной формы. Вторая вызывает CreateProcess для запуска первой. Процесс создается и через несколько секунд выдает: "Ошибка при запуске приложения 0xc0000005 ..."
Если же вызвать CreateProcess с теми же самыми параметрами без предварительного запуска основной программы и закрытия ее, то все нормально. Никакие ошибки не вылетают.
В чем может быть проблема?
Может подскажете более нормальный алгоритм перезапуска программы самой себя? Желательно, чтобы в промежуток между перезапуском, она могла что-нибудь еще сделать (например, скачать свежую версию самой себя...)
Dennis I. Komarov (2011-08-18 22:35:00) [1]Первая создает мьютекс. Вторая запускае первую проверяя его.
Cobalt (2011-08-18 18:11:00) [2]определенно, программа что-то такое блокирует для доступа 2-му экземпляру.
рекомендую перезапускать программу например с параметром типа "-reboot" чтобы сообщить о необходимости в начале запуска программы подождать освобождения ресурсов, захваченных 1-ым экземпляром.
Чтобы понять, что захваченно, запустите первый экземпляр из проводника. а второй - из под отладчика Дельфи.
Dennis I. Komarov (2011-08-18 12:46:00) [3]ошибка в 17-ой строке
OW (2011-08-18 12:05:00) [4]http://delphiworld.narod.ru/_all_articles_.html
Приложение своё - [68] и вниз
наверняка есть что-то, что поможет или на путь наставит как сделать иначе
Игорь Шевченко (2011-08-18 11:55:00) [5]
> "Ошибка при запуске приложения 0xc0000005 ..."
AV