![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Перезапуск программы [D5, Win95/98]
Марина © (2002-06-13 14:17:00)Подскажите, пожалуйста, можно ли заставить программу перезапустить саму себя(именно перезапустить, а не запустить еще раз)? Заранее спасибо.
VID (2002-06-14 00:38:00) [1]Алтернатива: Пишешь батник [run.bat] с командой запуска своей проги. Помещаешь батник в папку с прогой. А в проге пишешь:
Procedure RunSelf;
begin
UBPFD.RUNFILE("run.bat", "");
APPLICATION.TERMINATE;
end;
в таком случае сначала будет реализован запуск проги, а в это время вызывающая прога выгрузиться.
Возможные проблемы: если ты в своей проге, используешь технологию "только одна копия проги в ОЗУ", то возможно ничего не получится.
РЕШЕНИЕ: вместо батника пишешь exe, с кодом запуска твоей проги, например, через 1 сек после запуска этого exe. КОД:
Procedure RunSelf;
begin
UBPFD.RUNFILE("run.exe", "");
APPLICATION.TERMINATE;
end;
Fiend (2002-06-13 14:22:00) [2]А шо нельзя в нужный момент запустить себя при помощи CreateProcess или ShellExecute и т.д. а затем проверить если запустилось нормально завершиться тут же.
Тока перед запуском высвободить все библии, ресурсы и т.д.
Игорь Шевченко (2002-06-13 14:19:00) [3]Нет, нельзя.
А зачем это надо ? Всегда можно найти альтернативное решение...