Мы используем Oracle Forms 10g client_host для копирования файла во временную папку, запускаем приложение для просмотра временного файла, затем удаляем временный файл. В этом случае приложение для просмотра - Windows Internet Explorer. Проблема в том, что вызов delete_file для удаления временного файла вызывается до того, как IE может быть запущен для отображения файла, что приводит к ошибке в IE, потому что он не может найти файл. Ниже приведен фрагмент кода, показывающий, что мы делаем:
-- Copy the file to the site defined temporary location
client_host ('cmd /c copy '||Vcurrentfile||' '||Vtempfile);
-- Launch viewing application and display the temporary file
client_host (Pviewer||' '||Vtempfile);
-- Delete the temporary file
Vsuccessind := webutil_file.delete_file (Vtempfile);
Client_host ПРЕДПОЛАГАЕТСЯ быть модальным, поэтому оператор delete_file не должен выполняться, пока пользователь не закроет окно IE. Однако, похоже, что он выполняется до того, как завершится вызов client_host для запуска средства просмотра. Есть идеи?