Файл Powerpoint может быть удален без последствий - PullRequest
1 голос
/ 28 марта 2010

Я работаю над приложением типа управления лицензиями, которое копирует защищенный паролем zip-файл в корень приложения. Пользователь нажимает кнопку «Открыть презентацию», и заархивированный файл извлекается в корневую папку, а затем я использую взаимодействие Office, чтобы открыть файл в Powerpoint. На данный момент, к моему удивлению, я могу удалить извлеченный файл, который в данный момент открыт в приложении Powerpoint. Я предполагал, что попытка удалить файл не удастся, так как файл все еще открыт в Powerpoint.

Почему это позволяет мне удалить файл? Файл каким-то образом копируется во временную папку, а затем открывается в PowerPoint?

Могу ли я продолжить работу с приложением, полагаясь на эту возможность удалять файл, как только он открывается в Powerpoint? Это было бы оптимально, потому что это помогает гарантировать, что файл не может быть скопирован (я также использую xml, чтобы запретить отображение «Сохранить как» и «Сохранить» в Powerpoint).

Ответы [ 2 ]

3 голосов
/ 28 марта 2010

Многие приложения не сохраняют файл открытым после загрузки его в память. Возможно, это касается и PowerPoint. Кроме того, некоторые операционные системы позволяют удалять открытые файлы, если они специально не заблокированы. Многие системы Unix демонстрируют такое поведение.

Что касается ваших целей, что помешает пользователю просто сохранить файл power point в другом месте?

Кроме того, в будущем Power Point может оставить файл открытым после того, как они прочитали в память

0 голосов
/ 25 августа 2010

Даже если эта конкретная версия PowerPoint не выйдет из строя, когда этот конкретный файл будет удален, пока он открыт, я бы не стал полагаться на такое поведение в будущем (или в прошлом) версии Powerpoint, а также другие (более крупные? содержащие ссылки OLE?) файлы. Помните, что все, с чем вы работаете, в основном задокументировано «ссылочной реализацией».

Если честно, ваше приложение звучит как раздражающее техническое решение социальной проблемы.

...