PictureView 3 — просмотр изображений различных форматов
PictureView 3 — просмотр изображений различных форматов
В этой теме обсуждается плагин PictureView 3.
Старый тред с обсуждением предыдущих версий: PictureView 1 и 2.
Дальнейшее развитие версии 1.5, переделано под API Far 3.0.
Об извлечении плагинов из дистрибутивов ACDSee.
PS: API как было убогим в Far 2, так и осталось...
Старый тред с обсуждением предыдущих версий: PictureView 1 и 2.
Дальнейшее развитие версии 1.5, переделано под API Far 3.0.
Об извлечении плагинов из дистрибутивов ACDSee.
PS: API как было убогим в Far 2, так и осталось...
- Attachments
-
- PictureView3_20140813_last_xp.7z
- Последняя версия, работающая на WinXP
- (321.22 KiB) Downloaded 1203 times
PictureView 3 — просмотр изображений различных форматов
Latest post of the previous page:
Да: у ITP очень низкий приоритет – его спрашивают последним. А ACDSee декодер имеет свойство искать JPEG в некоторой окрестности, а не только с начала файла.В принципе, сейчас можно полностью отказаться от IDE_ACDStd.apl – другие декодеры быстрее или лучше.
- Grom PE
- Posts: 34
- Joined: Sun 21 Jun, 2015 14:24
- Has thanked: 5 times
- Been thanked: 2 times
- Contact:
PictureView 3 — просмотр изображений различных форматов
Хотел обновиться, потом вспомнил, что нужна версия с зумом nearest neighbor. Не выношу размытости при кратном зуме больше 100%. Почему бы не сделать опцию?
PictureView 3 — просмотр изображений различных форматов
Декодеры в большинстве случаев можно безопасно обновлять без изменения самого PV.
Если у вас и так всё работает – то новые заплатки вам не нужны.
Возможно, я дойду до этого.
Last edited by SEt on Fri 31 May, 2019 22:41, edited 1 time in total.
PictureView 3 — просмотр изображений различных форматов
На билдах Far старше 5457, при открытом через ArcLite архиве на одной панели, рушит Far после попытки смены диска или создания каталога на второй панели.
Code: Select all
╔══════════════════════════ Exception occurred ══════════════════════════╗
║ Exception: 0xC0000005 - EXCEPTION_ACCESS_VIOLATION ║
║ Details: Memory at 00007FF8C7B22820 could not be read ║
║ errno: ║
║ LastError: ║
║ NTSTATUS: ║
║ Address: 0x7FF77532BE8E - Far.exe!<unknown> (get the pdb) ║
║ Source: ║
║ Function: main ║
║ Module: D:\Far Manager\Far.exe ║
╟────────────────────────────────────────────────────────────────────────╢
║ { Terminate Far } [ Stack ] [ Minidump ] [ Ignore ] ║
╚════════════════════════════════════════════════════════════════════════╝
In love with FAR since 1997
- HaRT
- Moderator
- Posts: 10823
- Joined: Tue 30 Aug, 2005 17:21
- Has thanked: 221 times
- Been thanked: 358 times
PictureView 3 — просмотр изображений различных форматов
a'Lexus, сделайте, как написано тут: Поведение при обнаружении проблем.
И если рядом с
И если рядом с
Far.exe
подложить соответствующий Far.pdb
(например, скачать свежий Фар и оттуда же для него архив с PDB-файлом) и нажать в диаложке кнопку [ Stack ]
, то что выведется?Фар есть инструмент, а не нянька. © 2009 DrKnS
- HaRT
- Moderator
- Posts: 10823
- Joined: Tue 30 Aug, 2005 17:21
- Has thanked: 221 times
- Been thanked: 358 times
PictureView 3 — просмотр изображений различных форматов
А где выполненные предшествующие требования? Телепатов тут нет.
Фар есть инструмент, а не нянька. © 2009 DrKnS
PictureView 3 — просмотр изображений различных форматов
Last edited by HaRT on Fri 06 Sep, 2019 11:37, edited 1 time in total.
Reason: Спрятан офтопик
Reason: Спрятан офтопик
In love with FAR since 1997
- HaRT
- Moderator
- Posts: 10823
- Joined: Tue 30 Aug, 2005 17:21
- Has thanked: 221 times
- Been thanked: 358 times
PictureView 3 — просмотр изображений различных форматов
Фар есть инструмент, а не нянька. © 2009 DrKnS
PictureView 3 — просмотр изображений различных форматов
Last edited by HaRT on Fri 06 Sep, 2019 11:35, edited 1 time in total.
Reason: Спрятан офтопик
Reason: Спрятан офтопик
In love with FAR since 1997
- zg
- zero-gravity
- Posts: 6016
- Joined: Tue 15 Mar, 2005 17:36
- Location: riga
- Been thanked: 185 times
- Contact:
PictureView 3 — просмотр изображений различных форматов
нет, если это не полноценный багрепорт.
1. очень часто в таких случаях реально ошибки нет. выясняется это долго, трата времени впустую.
2. даже если баг есть, то в итоге он проявится у того, кто сможет сделать полноценный багрепорт.
- John Doe
- Бюрократ
- Posts: 13807
- Joined: Wed 27 Apr, 2005 20:42
- Has thanked: 73 times
- Been thanked: 426 times
- Contact:
- DrKnS
- Posts: 6114
- Joined: Thu 04 Aug, 2005 06:44
- Location: Kyiv
- Has thanked: 12 times
- Been thanked: 426 times
PictureView 3 — просмотр изображений различных форматов
Господа, нет необходимости выяснять отношения - давайте исходить из того, что здесь никто никому ничего не должен.
a'Lexus, со стеком гораздо лучше, спасибо.
Очевидно, что кто-то опять неправильно работает с COM и вызывает лишний CoUninitialize, убивая этим ITaskbarList3 внутри фара.
В дистрибутиве плагина с COM работают вроде бы только ITP.pvd и WIC.pvd.
ITP.pvd: Предполагаю, это примерно соответствует
WIC.pvd:
Предполагаю, это примерно соответствует
Я не знаю, как там работает интерфейс PVD и вызывается ли pvdExit, если pvdInit вернул false (исходников нет, документации нет, а ковыряться дальше мне лень). Если вызывается - ой, если нет - видимо, валит кто-то другой.
Но даже то, что выше - неправильно, т.к. модули не будут работать, если кто-то уже проинициализировал COM в другом режиме.
Как правильно инициализировать COM (у меня такое чувство, что нужна статья в Писании):
a'Lexus, со стеком гораздо лучше, спасибо.
Очевидно, что кто-то опять неправильно работает с COM и вызывает лишний CoUninitialize, убивая этим ITaskbarList3 внутри фара.
В дистрибутиве плагина с COM работают вроде бы только ITP.pvd и WIC.pvd.
ITP.pvd: Предполагаю, это примерно соответствует
WIC.pvd:
Предполагаю, это примерно соответствует
Я не знаю, как там работает интерфейс PVD и вызывается ли pvdExit, если pvdInit вернул false (исходников нет, документации нет, а ковыряться дальше мне лень). Если вызывается - ой, если нет - видимо, валит кто-то другой.
Но даже то, что выше - неправильно, т.к. модули не будут работать, если кто-то уже проинициализировал COM в другом режиме.
Как правильно инициализировать COM (у меня такое чувство, что нужна статья в Писании):
PictureView 3 — просмотр изображений различных форматов
Может вот ,что еще поможет:/
Far30b5462.x64.20190902 работает без проблем, 5463 у меня нет, 5464 и более старшие крашатся сразу после запуска.
При повторном запуске - при смене диска или создании каталога.
Steck при запуске:
p.s. Смею предположить, что повлияло вот это:
drkns 02.09.2019 21:09:11 +0100 - build 5463
1. Инициализируем COM как multithreaded, вроде бы так правильнее в нашем случае.
Last edited by a'Lexus on Fri 06 Sep, 2019 19:19, edited 1 time in total.
In love with FAR since 1997
- Smitis
- Posts: 1709
- Joined: Fri 18 Mar, 2005 12:51
- Location: Питер
- Has thanked: 23 times
- Been thanked: 55 times
PictureView 3 — просмотр изображений различных форматов
После 5462 ФАР начал падать, но только сегодня наконец собрался и выяснил, что это PictureView. Оказалось, это не только у меня.
Если что, есть стек, минидамп, но, как понял, это уже не нужно и причина выявлена.
Если что, есть стек, минидамп, но, как понял, это уже не нужно и причина выявлена.
Разум когда-нибудь победит.
PictureView 3 — просмотр изображений различных форматов
Да, есть такое, в PV вызывался CoUninitialize при не успешном CoInitializeEx. В следующей версии будет исправлено.
Но в данном случае – это была очень полезная ошибка, так как иначе вот это прошло бы тихо:
EDIT:
Ну и MSDN говорит, что
Но в данном случае – это была очень полезная ошибка, так как иначе вот это прошло бы тихо:
Какая прекрасная идея: "вроде бы так правильнее"! А что должны сделать плагины? Как им понять, что теперь COM работает по-другому?drkns 02.09.2019 21:09:11 +0100 - build 5463
1. Инициализируем COM как multithreaded, вроде бы так правильнее в нашем случае.
EDIT:
Ну и MSDN говорит, что
Because OLE technologies are not thread-safe, the OleInitialize function calls CoInitializeEx with the COINIT_APARTMENTTHREADED flag. As a result, an apartment that is initialized for multithreaded object concurrency cannot use the features enabled by OleInitialize.
Так что в плагинах ещё что-то может принципиально отвалиться, если они теперь обязаны жить в COINIT_MULTITHREADED.Applications that use the following functionality must call OleInitialize before calling any other function in the COM library:
- Clipboard
- Drag and Drop
- Object linking and embedding (OLE)
Last edited by SEt on Sat 07 Sep, 2019 23:30, edited 2 times in total.