Tordex Community
ClipBoard Manager - Printable Version

+- Tordex Community (http://forum.tordex.com)
+-- Forum: True Launch Bar (http://forum.tordex.com/forum-3.html)
+--- Forum: True Launch Bar по-русски (http://forum.tordex.com/forum-14.html)
+--- Thread: ClipBoard Manager (/thread-3486.html)



ClipBoard Manager - Sega-Zero - 11-10-2009

Есть проблема с этим плагином. Он блокирует клипбоард.
железно воспроизводится на моей машине в двух операционных Win системах.
Время от времени плаг блокирует буфер обмена, и некоторые программы неадекватно реагируют на это. Хорошо, если программа предусматривает реакцию на ошибку, но большинство программ, написанных на Delphi выбрасывает стандартное исключение если не может открыть клипборд.

Если нужны тест-кейсы - могу привести. воспроизводимость 100%.
Я так полагаю, что неправильно обрабатывается цепочка вьюверов. Возможно конфликтует с панто свитчером.


- Yuri Kobets - 11-18-2009

Quote:Если нужны тест-кейсы - могу привести. воспроизводимость 100%.
Сейчас плотно занялся этим плугином. тест-кейсы могли бы помочь.


- Sega-Zero - 11-19-2009

Скажите, как снять данные или какие-либо логи с программы. я нарисовал утилитку, копирующую в буфер обмена в цикле. процент ошибок открытия буфера варьируется от 60 до 80 %


- Yuri Kobets - 11-19-2009

Хмм... я кажется понял в чем проблема. По крайней мере с офисом оно начало нормально работать.

Только оно вот в чем дело-то. При копировании в цикле всегда будет часть ошибок открытия буфера, только из-за того, что нужно какое-то время чтобы выхватить данные из буфера.


- Sega-Zero - 11-19-2009

поставил полусекундный WaitForSingleObject в цикле, процент ошибок несильно уменьшился. копирую небольшой фрагмент, так что захват должен успевать.
конфликт с панто свичером отсеял - ошибка возникает даже при выгруженном панто.
в любом случае, могу провести любые тест-кейсы, ибо есть стойкая воспроизводимость


- Yuri Kobets - 11-19-2009

Quote:поставил полусекундный WaitForSingleObject в цикле, процент ошибок несильно уменьшился.
да-да, нужна исправленная версия. Я приаттачил к этому посту (32-х битная dll-ка) попробуйте с ней. По крайней мере с задержкой она должна работать (я надеюсь).


- Sega-Zero - 11-19-2009

с поправленной dll и задержкой в полсекунды работает замечательно.
ошибки начинаются при задержке в 100 миллисекунд (при отключенном плагине ошибок нет). На моем тесте это 9732 ошибки из 10000 итераций. Я полагаю ошибка возникает из за того, что не успевает сохраниться где то во внутреннем буфере плагина, либо задержка для отображения.
В принципе, проблема решена Smile при рядовых попытках копирования уже не сбоит. Гиковские тесты уже дают фейл. На моей памяти есть случаи, когда vb скрипт в экселе формировал сводные таблицы через копирование в буфер обмена, так что думаю проблему можно хотя бы посмотретьSmile К слову сказать, пантосвитчер с включенной функцией слежения за буфером обмена не сбоит при тесте.

ах да, спасибо за фикс, дышать стало свободнееSmile


- Yuri Kobets - 11-19-2009

Quote:с поправленной dll и задержкой в полсекунды работает замечательно.
Значит я был прав Smile спасибо за тесты. Я еще попробую снизить время на которое блокируется буфер - там есть что оптимизировать Smile