Рейтинг:
7
OriginalGriff
Сообщение об ошибке довольно явное:
The requested operation cannot be performed on a file with a user-mapped section open
Файл открыт, вероятно, в другом месте вашего собственного приложения - и не может быть открыт внешним процессом для копирования файла, пока он не будет закрыт.
Проверьте весь ваш другой код и убедитесь, что вы не поддерживаете никакого доступа к файлу. Это включает в себя все элементы управления изображением, загруженные из файла, и так далее.
В качестве хорошей практики используйте
Using
блокируйте любые потоки и т. д. по всему вашему коду, чтобы убедиться, что файл правильно закрыт и соответствующие структуры удалены, когда вы закончите с ними.
Computechsoft
Если я перезапускаю свою систему, когда снова запускаю свой проект в первый раз, он работает отлично
второй раз приходит эта ошибка.
phil.o
Это означает, что в вашем коде есть недостаток, который оставляет файловый поток открытым, когда он должен избавиться от него. Убедитесь, что вы объявили все потоки с помощью using
блоки, как и предлагалось в решении, и у вас все будет хорошо.
Computechsoft
PdfReader был установлен в моей системе? теперь этот документ открывается в "Microsoft Edge"
поэтому эта ошибка показывающая теперь скажите мне что я применяю это
Kill("Microsoft Edge.lnk")
но не убивай (края Микросфта)
OriginalGriff
Вам придется убить процесс, а не связь. Но... Это не сработало бы в моей системе, потому что моя открывает PDF-файлы с помощью Corel PDF Fusion. И даже если бы я использовал Edge для открытия PDF-файлов, вы закрываете мой браузер по своей прихоти, и я собираюсь удалить ваше программное обеспечение с крайним предубеждением!
Вместо того чтобы пытаться "обойти" проблему, используйте Try...Поймайте, чтобы "забрать" ошибку, сообщите о ней своему пользователю и дайте ему возможность закрыть просмотр вручную и повторить попытку.
Computechsoft
Да, я закрыл вручную "Microsoft Edge" без ошибок идеальной работы.
Только мне придется закрыть "Microsoft Edge" прагматично ?
но длина ребер = 0
Тусклые Края() Как Процесс = Процесс.GetProcessesByName("Microsoft Edge")
Для Каждого Процесса Как Процесс В Ребрах
Процесс.Убивать()
Следующий
OriginalGriff
Серьезно, я бы не стал этого делать.
Вы будете чертовски раздражать пользователей, если закроете неправильные окна - особенно если они находятся на 5-м часе 5 - часовой 1-минутной загрузки ...
Никогда не думайте, что вы знаете лучше, чем ваши пользователи - они не будут любить вас за это.