Post Reply 
 
Thread Rating:
  • 0 Votes - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
ClipBoard Manager
11-10-2009, 02:14 AM
Post: #1
ClipBoard Manager
Есть проблема с этим плагином. Он блокирует клипбоард.
железно воспроизводится на моей машине в двух операционных Win системах.
Время от времени плаг блокирует буфер обмена, и некоторые программы неадекватно реагируют на это. Хорошо, если программа предусматривает реакцию на ошибку, но большинство программ, написанных на Delphi выбрасывает стандартное исключение если не может открыть клипборд.

Если нужны тест-кейсы - могу привести. воспроизводимость 100%.
Я так полагаю, что неправильно обрабатывается цепочка вьюверов. Возможно конфликтует с панто свитчером.
Find all posts by this user
Quote this message in a reply
11-18-2009, 03:02 PM
Post: #2
 
Quote:Если нужны тест-кейсы - могу привести. воспроизводимость 100%.
Сейчас плотно занялся этим плугином. тест-кейсы могли бы помочь.

The TORDEX Team
http://www.tordex.com
Visit this user's website Find all posts by this user
Quote this message in a reply
11-19-2009, 09:55 AM
Post: #3
 
Скажите, как снять данные или какие-либо логи с программы. я нарисовал утилитку, копирующую в буфер обмена в цикле. процент ошибок открытия буфера варьируется от 60 до 80 %
Find all posts by this user
Quote this message in a reply
11-19-2009, 11:55 AM
Post: #4
 
Хмм... я кажется понял в чем проблема. По крайней мере с офисом оно начало нормально работать.

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

The TORDEX Team
http://www.tordex.com
Visit this user's website Find all posts by this user
Quote this message in a reply
11-19-2009, 01:32 PM
Post: #5
 
поставил полусекундный WaitForSingleObject в цикле, процент ошибок несильно уменьшился. копирую небольшой фрагмент, так что захват должен успевать.
конфликт с панто свичером отсеял - ошибка возникает даже при выгруженном панто.
в любом случае, могу провести любые тест-кейсы, ибо есть стойкая воспроизводимость
Find all posts by this user
Quote this message in a reply
11-19-2009, 02:13 PM
Post: #6
 
Quote:поставил полусекундный WaitForSingleObject в цикле, процент ошибок несильно уменьшился.
да-да, нужна исправленная версия. Я приаттачил к этому посту (32-х битная dll-ка) попробуйте с ней. По крайней мере с задержкой она должна работать (я надеюсь).


Attached File(s)
.rar  clipman.rar (Size: 368.34 KB / Downloads: 221)

The TORDEX Team
http://www.tordex.com
Visit this user's website Find all posts by this user
Quote this message in a reply
11-19-2009, 03:06 PM
Post: #7
 
с поправленной dll и задержкой в полсекунды работает замечательно.
ошибки начинаются при задержке в 100 миллисекунд (при отключенном плагине ошибок нет). На моем тесте это 9732 ошибки из 10000 итераций. Я полагаю ошибка возникает из за того, что не успевает сохраниться где то во внутреннем буфере плагина, либо задержка для отображения.
В принципе, проблема решена Smile при рядовых попытках копирования уже не сбоит. Гиковские тесты уже дают фейл. На моей памяти есть случаи, когда vb скрипт в экселе формировал сводные таблицы через копирование в буфер обмена, так что думаю проблему можно хотя бы посмотретьSmile К слову сказать, пантосвитчер с включенной функцией слежения за буфером обмена не сбоит при тесте.

ах да, спасибо за фикс, дышать стало свободнееSmile
Find all posts by this user
Quote this message in a reply
11-19-2009, 05:37 PM
Post: #8
 
Quote:с поправленной dll и задержкой в полсекунды работает замечательно.
Значит я был прав Smile спасибо за тесты. Я еще попробую снизить время на которое блокируется буфер - там есть что оптимизировать Smile

The TORDEX Team
http://www.tordex.com
Visit this user's website Find all posts by this user
Quote this message in a reply
Post Reply 


Forum Jump:


User(s) browsing this thread: 1 Guest(s)