-
Возникла проблема... Есть таблица, в которой храняться документы(Word, TWordApplication). Работа происходит следующим образом. Пользователь в клиентском приложении выбирает файл(работа происходит с помощью потоков), изменяет, а затем файл должен попасть в БД. т.е. создаётся файловый поток, который затем записывается в БД. Если пользователь после изменения файла нажмёт "Сохранить",а затем "Выход" то всё ОК. Если после изменения он нажмёт "Выход", то Ворд спросит сохранять или нет, если он нажмёт да, то на стадии выполнения создания потока вываливается ошибка о том, что файл занят другим процессом. FileStream := TFileStream.Create( FileName, fmOpenRead, fmShareDenyNone );
-
> на стадии выполнения создания потока
а какова вообще последовательность действий?
-
Произошло изменение документа, пользователь нажал кнопку выхода, ворд спросил сохранять или нет, тот ответил сохранять, далее создаётся поток: FileStream := TFileStream.Create( FileName, fmOpenRead, fmShareDenyNone ); Возникает ошибка "Нет доступа т.к. файл занят другим процессом"
-
> далее создаётся поток
Далее это когда ?
В какой момент своей программы и при каких условиях ты принимаешь решение о создании файл-стрима ?
-
WordApplication1Quit
-
Т.е. в обработчике этого события ? ну так а что ж ты хочешь ? В этот момент Ворд еще не закрыл файл, поэтому ты и получаешь отлуп
|