MantisBT  Site | Plugring | Plugins API and Macros | Forum | English Forum | Code

View Issue Details Jump to Notes ] Issue History ] Print ]
IDProjectCategoryView StatusDate SubmittedLast Update
0003445Far ManagerViewerpublic2017-06-15 08:492017-06-15 09:51
Reportermarchelo 
Assigned To2useven10 
PrioritynormalSeverityminorReproducibilityalways
StatusclosedResolutionwon't fix 
Platformx64OSWindowsOS Version10
Product Version3.0 
Target VersionFixed in Version 
Summary0003445: Viewer отставляет открытым FileHangler
DescriptionПри открытии файла через Viewer, Far оставляет открытым File Handler.
Это можно проверить через Process Explorer (Sysinternals)

Такое поведение мешает некоторым сторонним ПО обращаться к файлу, хотя Far и не блокирует запись в файл.

Подобное поведение не наблюдается при открытии файла через Editor.
Steps To Reproduce1. Скачать https://technet.microsoft.com/en-us/sysinternals/bb896653 и запустить
2. Создать файл с каким-то уникальным именем, например, testhndl.txt
3. Открыть файл нажав F3
4. Перейти в Process Explorer
5. Нажать Find -> Find Handle or DLL...
6. Вести в поле поиска название файла, например, testhndl.txt
7. Получить указание на Handle

Для сравнения с Editor
1. Открыть файл нажав F4
2. Перейти в Process Explorer
3. Нажать Find -> Find Handle or DLL...
4. Вести в поле поиска название файла, например, testhndl.txt
5. Указание на Handle не будет.
Additional InformationВсе опыты проводились досконально на версии FAR 64-bit, и соотвественно использовался 64-bit Process Explorer.

Тем не менее в 32 битной версии наблюдается так же поведение.
TagsViewer
Build0
Attached Files

- Relationships

-  Notes
(0015429)
2useven10 (developer)
2017-06-15 09:23

Да оставляет, пока просмотр не закончен. И это вряд ли будет изменено.
Вьювер не грузит файл в память, как делает редактор.
(0015430)
marchelo (reporter)
2017-06-15 09:26

Можно ли это сделать настройкой?
Проблема возникает при забытых открытых файлах и стороннее ПО входит в конфликт.
(0015431)
2useven10 (developer)
2017-06-15 09:38
edited on: 2017-06-15 09:38

Нет.
Вьювер часто используется для просмотра больших файлов, грузить их в память слишком затратно.
Кроме того он постоянно отслеживает не изменился ли файл - можно, например, просматривать онлайн запись в конец файла.
Файл открывается с минимальными ограничениями для 'стороннего по'
ViewFile.Open(name,
 FILE_READ_DATA,
 FILE_SHARE_READ|FILE_SHARE_WRITE|FILE_SHARE_DELETE, nullptr, OPEN_EXISTING
);
если это по при этом конфликтует - избавьтесь от него.

(0015432)
marchelo (reporter)
2017-06-15 09:40

Поясню, можно ли сделать галку - Load File into memory в Настройках Viewer.
Это сильно поможет на системах, где конфликт доступа не желателен.

Большие файлы уже не такая проблема, т.к. зачастую их нет. В любом случае это подконтрольно пользователю.
(0015433)
marchelo (reporter)
2017-06-15 09:41

> если это по при этом конфликтует - избавьтесь от него.
Если бы это не ПО так сказать монополиста.
(0015434)
2useven10 (developer)
2017-06-15 09:50

Повесьте примитивный макрос на F3 и вызывайте вместо просмотра редактор (F4).
Или не забывайте выходить из просмотра.

- Issue History
Date Modified Username Field Change
2017-06-15 08:49 marchelo New Issue
2017-06-15 08:50 marchelo Tag Attached: Viewer
2017-06-15 09:23 2useven10 Note Added: 0015429
2017-06-15 09:26 marchelo Note Added: 0015430
2017-06-15 09:38 2useven10 Note Added: 0015431
2017-06-15 09:38 2useven10 Note Edited: 0015431 View Revisions
2017-06-15 09:40 marchelo Note Added: 0015432
2017-06-15 09:41 marchelo Note Added: 0015433
2017-06-15 09:50 2useven10 Note Added: 0015434
2017-06-15 09:51 2useven10 Build => 0
2017-06-15 09:51 2useven10 Status new => closed
2017-06-15 09:51 2useven10 Assigned To => 2useven10
2017-06-15 09:51 2useven10 Resolution open => won't fix



Copyright © 2000 - 2017 MantisBT Team
Powered by Mantis Bugtracker