![]() |
|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
![]() Народ, опять прошу совета - есть такая задача - нужно по нажатию клавиши в моей программе закрыть приложение и только после этого запустить другую программу - обе программы используют одно железо и обе в монопольном доступе потому иначе никак - как это можно сделать? Вариант с WinExec в обработчике FormDestroy не прокатывает ибо форма еще не закрыта, аппаратное устройство "не отпущщено"... Подскажите, плиз, как решить траблу?
Последний раз редактировалось s.Mobi, 05.10.2007 в 01:24. |
#2
|
||||
|
||||
![]() Попробуй запускать прогу в разделе finalization юнита с формой.
Не профи, но и не чайник ![]() ![]() |
#3
|
||||
|
||||
![]() Создай батник. Перед выходом его запускай. В нём сделай, чтобы была задержка\пауза на выполнение где-нить секунду, и не забудь прописать в нем, чтобы он себя потом удалил.
THE CRACKER IS OUT THERE |
#4
|
|||
|
|||
![]() Вариант с батником напрашивается сам собой но не хотелось этого делать... Может есть более красивый метод?
|
#5
|
|||
|
|||
![]() Вообщето нету, можеш создать конешно еще одну программу, которая будет ждать завершения другой, и получает код завершения, если он напрмер равен 200 то запускаетьс другая программа....
лучше в конце основоного begin'a пропиши строку запука другого приложения, тогда не должно быть конфлтикта в оборудовании |
#6
|
|||
|
|||
![]() Цитата:
|
#7
|
||||
|
||||
![]() s.Mobi в модуле с формой в конце добавь
Код:
initialization finalization WinExec(PChar(Application.ExeName), SW_SHOWNORMAL); Не профи, но и не чайник ![]() ![]() |
#8
|
|||
|
|||
![]() Таки "ек"...
![]() ![]() |
#9
|
||||
|
||||
![]() Цитата:
--------------------------------------------- Программирование - не профессия, а стиль жизни |
#10
|
||||
|
||||
![]() Батник - наиболее рациональный выход из ситуации, как мне видится - никаких доп прог писать не надо и ресурсы системные сэкономит батник.
THE CRACKER IS OUT THERE |
#11
|
||||
|
||||
![]() Цитата:
--------------------------------------------- Программирование - не профессия, а стиль жизни |
#12
|
||||
|
||||
![]() mav_c, ну хотя, ты прав, можно ведь так сделать:
Запускаем из себя второе приложение, а в нем уже есть код проверки занятости ресурсов в цикле, как только ресурсы освободились (закрылась копия программы) - выходим из цикла и загружаемся дальше. THE CRACKER IS OUT THERE |
#13
|
|||
|
|||
![]() Таак.... а можно поподробнее, желательно с примером... Про проверку освобождения ресурсов...
|
#14
|
||||
|
||||
![]() Все зависит от того, как ты к ним подключаешься. Можно процедуру подключения впихнуть в блок try...except,а если это ф-я, то можно смотреть возвращаемое значение.
Кстати, наверняка должна быть возможность отключиться от железа вручную, без закрытия формы. Ведь подумай сам, при закрытии формы как-то железо освобождается. Я понимаю, что при закрытии формы винда сама освобождает память, чистит мусор за нами, отключает железо и т.д., но ведь КАК-ТО она отключает нас от железа, верно? ![]() По-этому, расскажи к какому типу железяки мы коннектимся, как это происходит и есть ли какой-либо набор ф-ий\процедур\инструкций для работы с этой железякой? THE CRACKER IS OUT THERE Последний раз редактировалось 4kusNick, 06.10.2007 в 13:48. |
#15
|
||||
|
||||
![]() Может тайна кроется в реестре? Или в системных файлах?
|