Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2011.08.07;
Скачать: CL | DM;

Вниз

ABBYY тормозит мою программу. Не пойму, каким образом...   Найти похожие ветки 

 
И. Павел ©   (2011-04-14 08:12) [0]

Здравствуйте.

У меня есть программа на Delphi. В ней есть EhGrid (аналог TDBGrid в EhLib). Когда пользователь запускает программу ищелкает по этой таблице мышью, чтобы сменить активную строчку, программа зависает, и только через некоторое время вызывается AfterScroll для соответствующего ADODataSet. Оказалось, что виновником является Abbyy. Зависания происходят, когда в Abbyy Lingvo включена функция перевода слов под курсором. Причем он распознает слова, содержащиеся в TDbEhGrid, хоть они там просто на канве рисуются (видимо, считывает канву и распознает, если вообще свой код не встраивает). Ловил WM_GETTEXT - кажется, не приходит (да и не было бы от него толку, т.к. в Grid текст просто рисуется на канве).

Подскажите, пожалуйста, что Abbyy Lingvo делает с программами, и как это делает? Может быть, кто-то с этим уже сталкивался?

PS: Версия Abby - x3. В их техподдерхку уже написал, но они пока не чешутся, и, учитывая то, что их программа способна выцарапать и распознать текст буквально отовсюду, сомневаюсь, что без мелкого хакерства обошлось...

Заранее спасибо.


 
KSergey ©   (2011-04-14 08:46) [1]

> Причем он распознает слова, содержащиеся в TDbEhGrid, хоть они там просто на канве рисуются (видимо, считывает канву и распознает,
> если вообще свой код не встраивает).


Не верю в распознавание.
А остальные программы - не тормозят?
Где ловили WM_GETTEXT? у самого грида? скорее его надо ловить у встраиваемого Edit на месте ячейки (инфа в гриде редактируется?)


 
И. Павел ©   (2011-04-14 09:06) [2]

> А остальные программы - не тормозят?

Спасибо за идею. Сейчас проверил в другой своей программе - на одной таблице тормозит, а на другой - нет. Обк таблицы - EhGrid. Буду искать отличия.
А вот сторонние программы серьезно не тормозят (есть небольшие подвисания, и довольно длинное подвисание в момент открытия окна перевода).

> инфа в гриде редактируется?)

Нет. Грид не редактируемый (у пользователя нет такой возможности). Например, подвожу курсор к ячейке грида, которая даже не выбрана, и Abbyy мне показывает ее текст и перевод.
Кстати, он даже текст из картинок/схем мождет извлекать - очень удобно при чтении английской документации, но видимо есть и минусы.

http://s003.radikal.ru/i201/1104/a6/e4f447d1f470.jpg


 
OW ©   (2011-04-14 09:25) [3]

у Abbyy  настройки должны быть, имхо


 
И. Павел ©   (2011-04-14 09:30) [4]

> [3] OW ©   (14.04.11 09:25)
> у Abbyy  настройки должны быть, имхо

В настройках можно отключить автоматический перевод. Но этой программой пользуются очень многие. В т.ч. и переводчики (у них и обнаружилась эта ошибка). А им функция автоматического перевода нужна.


 
sniknik ©   (2011-04-14 09:34) [5]

> т.к. в Grid текст просто рисуется на канве
он что DrawGrid? сам рисуешь? потому, что ни один из мне известных так не делает.

> Где ловили WM_GETTEXT?
а вот эта функция "в нутрях" через него работает?
http://www.delphimaster.net/view/2-1277667083/all
проверил бы...


 
И. Павел ©   (2011-04-14 10:28) [6]

> Где ловили WM_GETTEXT?

И на уровне окна таблицы, у на уровне всего приложения.


> а вот эта функция "в нутрях" через него работает?
> http://www.delphimaster.net/view/2-1277667083/all
> проверил бы...

Ни accName ни accValue не посылают WM_GetText. И моя программа из за них не подтормаживает.
Подскажите, пожвлуйста, можно ли как-нибудь запретить Windows отдавать лбъект EhGrid чужим приложениям? Проще говоря сделать так, чтобы любой вызов Succeeded(AccessibleObjectFromPoint(P, A, V)) для окон моей программы возвращал false?


 
Inovet ©   (2011-04-15 00:03) [7]

> [4] И. Павел ©   (14.04.11 09:30)
> А им функция автоматического перевода нужна.

Можно не по наведению мыши настроить, а в сочетании с Ctrl. А то окно перевода везде вылазит.


 
И. Павел ©   (2011-04-15 08:08) [8]

> [7] Inovet ©   (15.04.11 00:03)

Я тоже у себя через ctrl делаю, когда что-то английское читаю.
Но у наших переводчиков почему-то настроен автоматический перевод всего. Видимо, потому что они переводами по 8 ч. в день занимаются, а может быть действительно просто не знают. как отключить.

Но это вариант, спасибо. Если не удастся защитить программу он "штурма" со стороны Abbyy Lingvo, просто попрошу администраторов при установке переводчика в настройках включать перевод по нажатию ctrl.


 
Inovet ©   (2011-04-15 10:27) [9]

Кстати, для информации, может чем поможет. В ИЕ9 всплывающий перевод перестал работать. Так были и в 11-й версии на ИЕ8 на Вин7, тогда в техподдержке ничего умнее не сказали, как UAC отключить, типа ответили формально правильно. В Lomgvo x3 это как-то учли, теперь вот с ИЕ9 снова повторяется.


 
И. Павел ©   (2011-04-15 11:36) [10]

> [9] Inovet ©   (15.04.11 10:27)

Спасибо.

В техподдержке сказали, что передали мое письмо разработчикам. Посмотрю, что они скажут. Надеюсь, что у них найдется какой-нибудь способ для исключения моей программы из обработки Lingvo, т.к., скорее всего, мой случай не первый.


 
Inovet ©   (2011-04-15 12:08) [11]

> [9] Inovet ©   (15.04.11 10:27)
> Так были и в 11-й версии на ИЕ8 на Вин7

Не в 12-й, нынешняя x3 это же 13-я. Собственно в 12-й и появилась эта возможность перевода на лету.


 
dmk ©   (2011-04-15 14:41) [12]

>скорее всего, мой случай не первый
Угу. У меня Абби тоже тормозит все что только можно.



Страницы: 1 вся ветка

Текущий архив: 2011.08.07;
Скачать: CL | DM;

Наверх




Память: 0.5 MB
Время: 0.007 c
15-1302425989
Константинов
2011-04-10 12:59
2011.08.07
Проблемы со Skype


6-1239719308
sasha73
2009-04-14 18:28
2011.08.07
TidPOP3 заголовки не всех писем получает. Как заставить?


15-1303034665
Виктория
2011-04-17 14:04
2011.08.07
Помогите пожалуйста


2-1303980851
stud92
2011-04-28 12:54
2011.08.07
отношение между таблицами бд


2-1303887198
pushok
2011-04-27 10:53
2011.08.07
Группы под группы