![]() ![]() |
|
СВебБраузер2 - плагин Акробата лочит файлы14.04.2013, 21:15. Показов 2147. Ответов 14
Метки нет Все метки)
(
Юзаю CWebBrowser2 ActiveX всё гуд, но есть одна проблемма, после просмотра PDF документов доступ к ним оказывается залоченным даже после смены контента CWebBrowser2. Полагаю при смене контента CWebBrowser2 на выгружает плагин акробата и в результате остаётся поток связанный с файлом, данный поток всё и коробит. Пока обхожусь тем, что просматриваемые PDF ложу копиями во %TEMP% каталог с UNIQUE NAME (в результате оригинальные файлы плагин акробата не лочит), но это не дело - т.к при большом обїёме PDF-а прошедшего через браузер папка %TEMP% раздувается в разы.
Пробовал CWebBrowser2::Stop, CWebBrowser2::Quit - не помогает - файлы остаются залоченными. Кто сталкивался помогите решить проблемму!
0
|
14.04.2013, 21:15 | |
Ответы с готовыми решениями:
14
Как изменятся время и дальность полета акробата Вирус лочит файрвол, как быть? Вызов диалога с ожиданием реакции - мьютекс лочит UI поток |
![]() ![]() |
||||||
15.04.2013, 14:29 [ТС] | ||||||
vxg, CWebBrowser2 идёт у меня контролом окна (т.е я не создавал его динамически), хотя мысли были. Впрочем я юзал CWebBrowser2::Quit (что в принципе равносильно убийству браузера) в try{}catch() блоке - не помогает. В данный момент пробую подъюзнуть GetDocument квернуть интерфес и чего нибудь релизнуть в полученном, если не поможет буду динамически созадвать (через new CWebBrowser2()) объект и потом шлёпать.
Добавлено через 4 часа 22 минуты
0
|
![]() ![]() |
||
15.04.2013, 15:44 [ТС] | ||
Ещё раз проблемма после подгрузки PDF а в системе возникает AcroRead.exe (думаю запускается ActiveX - от адоба) с 4-мя поткоами, одновременно в приложение увеличивает число своих нитей также на 4-ри, я пробовал снимать AcroRead.exe, но при его удалении потоки приложения не пропадают а файл PDF так и сотаётся залоченным для чтения. Нубские решения - открыть в браузере пустую страницу не помогают. Думаю дело именно в контроле CWebBrowser2 который не поддерживает Quit и Release, ломаю голову как вытащить из CWebBrowser2 интерфейс IWebBrowser2
0
|
![]() ![]() |
||
15.04.2013, 17:15 [ТС] | ||
Либо что ты имеешь ввиду? Нельзя его грохнуть - надо высвободить контекнт. Пока грешу на адоб, т.к другие плагины нормально возвращают контент. Добавлено через 4 минуты Не по теме: Плагин качал с адоба блокировка идёт на ХРюшке и 7-ке стало быть прихожу к выводу, что в адобе недопаяли или специально так сделаи чтобы их Актив юзали, а не подгружали через другие контролы
0
|
![]() ![]() |
||
16.04.2013, 10:25 [ТС] | ||
![]()
0
|
Модератор
![]() 3403 / 2174 / 353
Регистрация: 13.01.2012
Сообщений: 8,430
|
|||||
16.04.2013, 14:00 | |||||
актив_икс = new актив_икс; вызов диалога бла бла бла delete актив_икс; ![]()
1
|
![]() ![]() |
|||
16.04.2013, 14:15 [ТС] | |||
0
|
Модератор
![]() 3403 / 2174 / 353
Регистрация: 13.01.2012
Сообщений: 8,430
|
||
16.04.2013, 15:26 | ||
![]() Добавлено через 41 секунду уж лучше грохать потоки по имени акробата. хотя и в этом случае можно убить какой-нибудь левый файл открытый пользователем параллельно
0
|
![]() ![]() |
||||||
28.04.2013, 19:24 [ТС] | ||||||
Решение немного напомниает костыль, зато простое
1 - й Navigate - встряхивает кеш Stop делает детач связанных с кешированным файлом потоков (вроди как отработка об этом свидетельствует) 2 - й Navigate - ну вот не хочет CWebBrowser без него отображать новый контент, думаю так 1-й навигэйт сбросил кеш, а второй подгрузил в него новый файл Refresh вконце обязательно (метод иногда генит эксептшн, потому буз try{}catch{} юзать не рекомендую!) Refresh вначале странен, но без него бывают непонятки с новым с контентом, короче для симметрии пусть будет пока что.
1
|
Модератор
![]() 3403 / 2174 / 353
Регистрация: 13.01.2012
Сообщений: 8,430
|
||
29.04.2013, 11:03 | ||
0
|
![]() ![]() |
|||||||
29.04.2013, 11:29 [ТС] | |||||||
По идеи должна была работать связка
![]()
1
|
29.04.2013, 11:29 | |
Помогаю со студенческими работами здесь
15
Как правильно завершить поток, который лочит мьютекс в цикле? Как открыть файлы через Java плагин для серверов майнкрафт Скачать плагин для Adobe Photoshop CS4 Extended, чтобы сохряняло файлы в ico Найти все RTF файлы, захешировать эти файлы MD5 и SHA1. Потов захешированые файлы поместить в документ Пропали файлы на флешке.Вместо них файлы и папки со странными именами Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Опции темы | |
|
Новые блоги и статьи
![]() |
||||
Популярные LM модели ориентированы на увеличение затрат ресурсов пользователями сгенерированного кода (грязь -заслуги чистоплюев).
Hrethgir 12.06.2025
Вообще обратил внимание, что они генерируют код (впрочем так-же ориентированы разработчики чипов даже), чтобы пользователь их использующий уходил в тот или иной убыток. Это достаточно опытные модели,. . .
|
Топ10 библиотек C для квантовых вычислений
bytestream 12.06.2025
Квантовые вычисления - это та область, где теория встречается с практикой на границе наших знаний о физике. Пока большая часть шума вокруг квантовых компьютеров крутится вокруг языков высокого уровня. . .
|
Dispose и Finalize в C#
stackOverflow 12.06.2025
Работая с C# больше десяти лет, я снова и снова наблюдаю одну и ту же историю: разработчики наивно полагаются на сборщик мусора, как на волшебную палочку, которая решит все проблемы с памятью. Да,. . .
|
Повышаем производительность игры на Unity 6 с GPU Resident Drawer
GameUnited 11.06.2025
Недавно копался в новых фичах Unity 6 и наткнулся на GPU Resident Drawer - штуку, которая заставила меня присвистнуть от удивления. По сути, это внутренний механизм рендеринга, который автоматически. . .
|
Множества в Python
py-thonny 11.06.2025
В Python существует множество структур данных, но иногда я сталкиваюсь с задачами, где ни списки, ни словари не дают оптимального решения. Часто это происходит, когда мне нужно быстро проверять. . .
|
Работа с ccache/sccache в рамках C++
Loafer 11.06.2025
Утилиты ccache и sccache занимаются тем, что кешируют промежуточные результаты компиляции, таким образом ускоряя последующие компиляции проекта. Это означает, что если проект будет компилироваться. . .
|
Настройка MTProxy
Loafer 11.06.2025
Дополнительная информация к инструкции по настройке MTProxy:
Перед сборкой проекта необходимо добавить флаг -fcommon в конец переменной CFLAGS в Makefile.
Через crontab -e добавить задачу:
0 3. . .
|
Изучаем Docker: что это, как использовать и как это работает
Mr. Docker 10.06.2025
Суть Docker проста - это платформа для разработки, доставки и запуска приложений в контейнерах. Контейнер, если говорить образно, это запечатанная коробка, в которой находится ваше приложение вместе. . .
|
Тип Record в C#
stackOverflow 10.06.2025
Многие годы я разрабатывал приложения на C#, используя классы для всего подряд - и мне это казалось естественным. Но со временем, особенно в крупных проектах, я стал замечать, что простые классы. . .
|
Разработка плагина для Minecraft
Javaican 09.06.2025
За годы существования Minecraft сформировалась сложная экосистема серверов. Оригинальный (ванильный) сервер не поддерживает плагины, поэтому сообщество разработало множество альтернатив. CraftBukkit. . .
|