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

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

Перезапуск программы [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]

Нет, нельзя.
А зачем это надо ? Всегда можно найти альтернативное решение...


Наверх

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