|
|
|
Floating point error в TWinControl.DefaultHandler
|
|||
|---|---|---|---|
|
#18+
Добрый день, всем! Столкнулся с проблемой, решение которой не могу найти. Суть проблемы - есть VCL приложение на Delphi (версия Delphi не имеет значения, пробовал на разных). В качестве устройства ввода - используется панель ZinFrame (сенсорная панель, мультитач) При проведении пальцем по форме программы - она вылетает с ошибкой Floating point error. Приложение - пустое, одна форма, никаких компонентов и обработчиков событий! Создается так: File -> New -> VCL Forms Application -> Delphi, а потом просто Project - Run. Проведя отладку выявил, что ошибка возникает в модуле Controls, конкретно в процедуре Код: pascal 1. Место где происходит ошибка Код: pascal 1. Анализируя события и параметры на которых происходит ошибка, выявил, что это сообщения 0x245, 0x247. Согласно MSDN это сообщения раздела "Pointer Input Message Reference". Причем не на все сообщения происходит такая реакция, некоторые проходят. Ошибка возникает во всех наследниках TWinControl. Как я писал ранее, проверял такие приложения в разных версиях Delphi от 7 до 10.1. В тоже время приложение написанное на C# - работает без ошибок. Есть какие-то мысли по этой проблеме, может кто-то сталкивался ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.06.2017, 10:12:09 |
|
||
|
Floating point error в TWinControl.DefaultHandler
|
|||
|---|---|---|---|
|
#18+
LeoAmДобрый день, всем! Столкнулся с проблемой, решение которой не могу найти. Суть проблемы - есть VCL приложение на Delphi (версия Delphi не имеет значения, пробовал на разных). В качестве устройства ввода - используется панель ZinFrame (сенсорная панель, мультитач) При проведении пальцем по форме программы - она вылетает с ошибкой Floating point error. Приложение - пустое, одна форма, никаких компонентов и обработчиков событий! Создается так: File -> New -> VCL Forms Application -> Delphi, а потом просто Project - Run. Проведя отладку выявил, что ошибка возникает в модуле Controls, конкретно в процедуре Код: pascal 1. Место где происходит ошибка Код: pascal 1. Анализируя события и параметры на которых происходит ошибка, выявил, что это сообщения 0x245, 0x247. Согласно MSDN это сообщения раздела "Pointer Input Message Reference". Причем не на все сообщения происходит такая реакция, некоторые проходят. Ошибка возникает во всех наследниках TWinControl. Как я писал ранее, проверял такие приложения в разных версиях Delphi от 7 до 10.1. В тоже время приложение написанное на C# - работает без ошибок. Есть какие-то мысли по этой проблеме, может кто-то сталкивался В MSDN же написано: Important: Desktop apps should be DPI aware. If your app is not DPI aware, screen coordinates contained in pointer messages and related structures might appear inaccurate due to DPI virtualization. DPI virtualization provides automatic scaling support to applications that are not DPI aware and is active by default (users can turn it off). For more information, see Writing High-DPI Win32 Applications. Возможно проблема именно в этом. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.06.2017, 10:50:41 |
|
||
|
Floating point error в TWinControl.DefaultHandler
|
|||
|---|---|---|---|
|
#18+
schi, Я обратил на это внимание. Специально после этого отключил масштабирование в Windows т.е. 100%, 96 dpi. Раньше было действительно 150%. Но в итоге эффекта это не принесло. Или этого не достаточно? Буду признателен за помощь ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.06.2017, 11:58:35 |
|
||
|
Floating point error в TWinControl.DefaultHandler
|
|||
|---|---|---|---|
|
#18+
... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.06.2017, 15:00:08 |
|
||
|
Floating point error в TWinControl.DefaultHandler
|
|||
|---|---|---|---|
|
#18+
schi, Ознакомился с манифестом. Попробовал использовать опции dpiAware true/pm Ожидаемо - не дало результата. Вопрос у меня не из за того, что приложение неправильно масштабируется, оно просто вылетает с ошибкой! причем ошибкой при вызове WINAPI функции, в качестве параметров которых идет Windows сообщение с параметрами и указатель на другую WINAPI функцию. Обе функции из user32.dll Вчера протестировал данную конфигурацию программы на Windows 7 - там почему-то не было ошибки?! Это уже фантастика. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.06.2017, 12:01:32 |
|
||
|
|

start [/forum/topic.php?fid=58&gotonew=1&tid=2042107]: |
0ms |
get settings: |
7ms |
get forum list: |
13ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
197ms |
get topic data: |
7ms |
get first new msg: |
4ms |
get forum data: |
2ms |
get page messages: |
29ms |
get tp. blocked users: |
1ms |
| others: | 191ms |
| total: | 455ms |

| 0 / 0 |
