Перейти к содержанию
Fire Monkey от А до Я
  • 0

Скачет фокус, мерцают контролы при наличии текстового поля


lpldio

Вопрос

Добрый день.

Проблема такая. Кидаем на форму 2 любых текстовых компонента (Edit, Memo) и 2 кнопки.

7677956c48fd4eb2bcc80db67c26077e.png

Запускаем.

Ставим курсор в текстовое поле, потом нажимаем кнопку, возвращаемся в поле. Кнопка и текстовое поле начинают "перемигиваться", т.е. сначала один контрол в фокусе, потом другой, и так бесконечно.

Теперь можно нажать на другую кнопку и поставить курсор в другое поле. Обе кнопки начнут мигать синеньким, т.е. получать фокус и отдавать его обратно.

Тут, кажется, упоминается проблема http://qc.embarcadero.com/wc/qcmain.aspx/qcmain.aspx?d=116964 но воркэраунд не работает (XE 7 UPD 1).

Как с этим бороться?

 

Подробности: запускаю на Windows 8.1 x64, компилировал в 32 и 64 бит, без разницы. Видеокарта AMD HD7XXX, пробовал через RDP - то же самое, по-моему от видеокарты это не зависит.

Ссылка на комментарий

Рекомендуемые сообщения

  • 0

Похожая проблема (также XE 7 UPD 1). Только приложение работающее, с кучей компонентов, анимацией и видимыми/невидимыми layout'ами.

Тестировалось на куче машин с разной конфигурацией: XP - Win10, 32х/64х, совершенно разное железо. Везде всё хорошо работало и не мерцало.

 

Но нашлась одна машина, на которой началась "цветомузыка". Видимость элементов скачет, курсор прыгает между двумя последними выбранными TEdit, набранный в этих эдитах текст, появляется исчезает (визуально!!! данные не теряются). Программа начинает вести себя так, как показывают в фильмах, передавая видения людей "под кислотой" - тут похоже виноват мерцающий MultiView.

 

Единственное существенное отличие в конфигурации этого компьютера: моноблок с сенсорным экраном под управлением 8-й винды. Грешил на сенсорный ввод: может думает, что мышь - это палец, которым по экрану водят и программа с ума сходит. Отключил службу "сенсорного ввода и пера" (как-то так называется) - не спасло положение. Может дело не в сенсорном вводе, а в чём-то другом. Но разбираться на месте не было, к сожалению, ни возможности, ни времени.

Ссылка на комментарий
  • 0

Это видимо "древний" баг с первых версий, имеет место быть на ноутбуках с гибридной графикой (intel+nvidia)...

У меня на ноутбуке с гибридной графикой такого нет!

Все ок!

Ссылка на комментарий
  • 0

По-моему это именно из-за видео-карты.

Попробуйте в файле проекта перед

Application.Initialize;

написать

  GlobalDisableFocusEffect := True;
  GlobalUseDX10                 := False;
  GlobalUseDX10Software   := True;
//  GlobalUseDXInDX9Mode   := True;

в общем - "поиграйтесь" с этими параметрами

Ссылка на комментарий
  • 0

 

Это видимо "древний" баг с первых версий, имеет место быть на ноутбуках с гибридной графикой (intel+nvidia)...

У меня на ноутбуке с гибридной графикой такого нет!

Все ок!

 

не на все гибридных адаптерах воспроизводится, лишь на некоторых в частности на моем geforce gt520m сие имеет место быть..

Ссылка на комментарий
  • 0

 

Похожая проблема (также XE 7 UPD 1).

Работающее решение:

  FMX.Types.GlobalUseDirect2D := False; // avoid bug with AMD Dual Graphics
  Application.Initialize;
  <...>

посмеялся... это не решение, а вынужденный компромисс-костыль с последствиями в падении скорости и тп.,

поскольку вы просто переводите рендеринг ui с быстрого Direct2D на древний тормозной gdi+.....

Изменено пользователем Sergionn
Ссылка на комментарий
  • 0

Это видимо "древний" баг с первых версий, имеет место быть на ноутбуках с гибридной графикой (intel+nvidia)...

У меня на ноутбуке с гибридной графикой такого нет!

Все ок!

не на все гибридных адаптерах воспроизводится, лишь на некоторых в частности на моем geforce gt520m сие имеет место быть..
У меня geforce gt645m, такого нет! второй intel (встроеный адаптер) Изменено пользователем wamaco
Ссылка на комментарий
  • 0

У меня geforce gt645m, такого нет! второй intel (встроеный адаптер)

ага, у разработчиков видимо тоже этот баг не воспроизводится, поэтому он и дожил до таких версий fmx :(

Ссылка на комментарий

Присоединяйтесь к обсуждению

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

Гость
Ответить на вопрос...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...