View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0003445 | Far Manager | Viewer | public | 2017-06-15 06:49 | 2017-06-15 07:51 |
Reporter | marchelo | Assigned To | 2useven10 | ||
Priority | normal | Severity | minor | Reproducibility | always |
Status | closed | Resolution | won't fix | ||
Platform | x64 | OS | Windows | OS Version | 10 |
Product Version | 3.0 | ||||
Summary | 0003445: Viewer отставляет открытым FileHangler | ||||
Description | При открытии файла через Viewer, Far оставляет открытым File Handler. Это можно проверить через Process Explorer (Sysinternals) Такое поведение мешает некоторым сторонним ПО обращаться к файлу, хотя Far и не блокирует запись в файл. Подобное поведение не наблюдается при открытии файла через Editor. | ||||
Steps To Reproduce | 1. Скачать 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 битной версии наблюдается так же поведение. | ||||
Tags | Viewer | ||||
Build | 0 | ||||
|
Да оставляет, пока просмотр не закончен. И это вряд ли будет изменено. Вьювер не грузит файл в память, как делает редактор. |
|
Можно ли это сделать настройкой? Проблема возникает при забытых открытых файлах и стороннее ПО входит в конфликт. |
|
Нет. Вьювер часто используется для просмотра больших файлов, грузить их в память слишком затратно. Кроме того он постоянно отслеживает не изменился ли файл - можно, например, просматривать онлайн запись в конец файла. Файл открывается с минимальными ограничениями для 'стороннего по' ViewFile.Open(name, FILE_READ_DATA, FILE_SHARE_READ|FILE_SHARE_WRITE|FILE_SHARE_DELETE, nullptr, OPEN_EXISTING ); если это по при этом конфликтует - избавьтесь от него. |
|
Поясню, можно ли сделать галку - Load File into memory в Настройках Viewer. Это сильно поможет на системах, где конфликт доступа не желателен. Большие файлы уже не такая проблема, т.к. зачастую их нет. В любом случае это подконтрольно пользователю. |
|
> если это по при этом конфликтует - избавьтесь от него. Если бы это не ПО так сказать монополиста. |
|
Повесьте примитивный макрос на F3 и вызывайте вместо просмотра редактор (F4). Или не забывайте выходить из просмотра. |
Date Modified | Username | Field | Change |
---|---|---|---|
2017-06-15 06:49 | marchelo | New Issue | |
2017-06-15 06:50 | marchelo | Tag Attached: Viewer | |
2017-06-15 07:23 | 2useven10 | Note Added: 0015429 | |
2017-06-15 07:26 | marchelo | Note Added: 0015430 | |
2017-06-15 07:38 | 2useven10 | Note Added: 0015431 | |
2017-06-15 07:38 | 2useven10 | Note Edited: 0015431 | |
2017-06-15 07:40 | marchelo | Note Added: 0015432 | |
2017-06-15 07:41 | marchelo | Note Added: 0015433 | |
2017-06-15 07:50 | 2useven10 | Note Added: 0015434 | |
2017-06-15 07:51 | 2useven10 | Build | => 0 |
2017-06-15 07:51 | 2useven10 | Status | new => closed |
2017-06-15 07:51 | 2useven10 | Assigned To | => 2useven10 |
2017-06-15 07:51 | 2useven10 | Resolution | open => won't fix |