ClipBoard Manager
Started by Sega-Zero


Rate this topic
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5


8 posts in this topic
Sega-Zero
Junior Member
**


0
4 posts 1 threads Joined: Nov 2009
11-10-2009, 02:14 AM -
#1
Есть проблема с этим плагином. Он блокирует клипбоард.
железно воспроизводится на моей машине в двух операционных Win системах.
Время от времени плаг блокирует буфер обмена, и некоторые программы неадекватно реагируют на это. Хорошо, если программа предусматривает реакцию на ошибку, но большинство программ, написанных на Delphi выбрасывает стандартное исключение если не может открыть клипборд.

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


8
6,193 posts 427 threads Joined: Jan 2002
11-18-2009, 03:02 PM -
#2
Quote:Если нужны тест-кейсы - могу привести. воспроизводимость 100%.
Сейчас плотно занялся этим плугином. тест-кейсы могли бы помочь.
The TORDEX Team
http://www.tordex.com
Sega-Zero
Junior Member
**


0
4 posts 1 threads Joined: Nov 2009
11-19-2009, 09:55 AM -
#3
Скажите, как снять данные или какие-либо логи с программы. я нарисовал утилитку, копирующую в буфер обмена в цикле. процент ошибок открытия буфера варьируется от 60 до 80 %
Yuri Kobets
Posting Freak
*****


8
6,193 posts 427 threads Joined: Jan 2002
11-19-2009, 11:55 AM -
#4
Хмм... я кажется понял в чем проблема. По крайней мере с офисом оно начало нормально работать.

Только оно вот в чем дело-то. При копировании в цикле всегда будет часть ошибок открытия буфера, только из-за того, что нужно какое-то время чтобы выхватить данные из буфера.
The TORDEX Team
http://www.tordex.com
Sega-Zero
Junior Member
**


0
4 posts 1 threads Joined: Nov 2009
11-19-2009, 01:32 PM -
#5
поставил полусекундный WaitForSingleObject в цикле, процент ошибок несильно уменьшился. копирую небольшой фрагмент, так что захват должен успевать.
конфликт с панто свичером отсеял - ошибка возникает даже при выгруженном панто.
в любом случае, могу провести любые тест-кейсы, ибо есть стойкая воспроизводимость
Yuri Kobets
Posting Freak
*****


8
6,193 posts 427 threads Joined: Jan 2002
11-19-2009, 02:13 PM -
#6
Quote:поставил полусекундный WaitForSingleObject в цикле, процент ошибок несильно уменьшился.
да-да, нужна исправленная версия. Я приаттачил к этому посту (32-х битная dll-ка) попробуйте с ней. По крайней мере с задержкой она должна работать (я надеюсь).


Attached Files
.rar   clipman.rar (Size: 368.34 KB / Downloads: 265)
The TORDEX Team
http://www.tordex.com
Sega-Zero
Junior Member
**


0
4 posts 1 threads Joined: Nov 2009
11-19-2009, 03:06 PM -
#7
с поправленной dll и задержкой в полсекунды работает замечательно.
ошибки начинаются при задержке в 100 миллисекунд (при отключенном плагине ошибок нет). На моем тесте это 9732 ошибки из 10000 итераций. Я полагаю ошибка возникает из за того, что не успевает сохраниться где то во внутреннем буфере плагина, либо задержка для отображения.
В принципе, проблема решена Smile при рядовых попытках копирования уже не сбоит. Гиковские тесты уже дают фейл. На моей памяти есть случаи, когда vb скрипт в экселе формировал сводные таблицы через копирование в буфер обмена, так что думаю проблему можно хотя бы посмотретьSmile К слову сказать, пантосвитчер с включенной функцией слежения за буфером обмена не сбоит при тесте.

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


8
6,193 posts 427 threads Joined: Jan 2002
11-19-2009, 05:37 PM -
#8
Quote:с поправленной dll и задержкой в полсекунды работает замечательно.
Значит я был прав Smile спасибо за тесты. Я еще попробую снизить время на которое блокируется буфер - там есть что оптимизировать Smile
The TORDEX Team
http://www.tordex.com


Forum Jump:


Users browsing this thread: 1 Guest(s)