См. Сообщение @David, плюс .. Когда я помню, где у меня было похожее требование, мне приходилось закрывать резервную копию некоторых данных на сетевом диске в приложении.Я просто установил для CloseAction значение caHide в обработчике OnClose и, таким образом, оставлял приложение загруженным до тех пор, пока поток, выполняющий копию, не завершился, после чего он вызвал ExitProcess () для окончательного прекращения работы.
Проблема этого простого подхода заключается в том, чтото, что пользователь мог попытаться запустить другую копию приложения, пока старая все еще делала резервные копии - это вызывало большие проблемы.Мы просто добавили параграф в руководство пользователя, чтобы охватить это, но какое-то лучшее решение, например.заставить новые экземпляры ждать при запуске, пока старые не закончатся, было бы лучше.Похоже, что решение Дэвида о запуске отдельного процесса было бы лучше в этом отношении, мод.любое «вмешательство» между копией и запуском любого нового экземпляра приложения.