Summary: | 1С 8.1 + АТОЛ: проблема со вкладкой "Драйвер устройств ввода" | ||
---|---|---|---|
Product: | WINE@Etersoft | Reporter: | Александр Морозов <amorozov> |
Component: | Окна / фокус / перерисовка | Assignee: | Роман Дадьков <romand> |
Status: | CLOSED INVALID | QA Contact: | |
Severity: | major | ||
Priority: | P3 | CC: | akv, lav, olezha, svzhu, vitperov |
Version: | 1.0.12 | ||
Target Milestone: | --- | ||
Hardware: | PC | ||
OS: | All | ||
Whiteboard: | |||
Заявки RT: | Связано с: | 4272 | |
Дата напоминания: | |||
Bug Depends on: | 4684, 7929, 8023 | ||
Bug Blocks: | 10932 | ||
Attachments: |
Скриншот
Скриншот при запуске через wineole |
Description
Александр Морозов
2009-12-17 17:02:57 MSK
Created attachment 1430 [details]
Скриншот
Created attachment 1431 [details]
Скриншот при запуске через wineole
При запуске через wineole выглядит лучше, но всё же не совсем правильно
Выложил патч. В момент открытия диалога "Параметры", диалогу настройки драйвера присваивается корректный размер. При переходе на вкладку "Драйвер устройств ввода" происходит назначение нового меньшего размера. Скорее всего, это связано с работой функции SetWindowPos в wine. При этом не понятно на что ориентируется приложение - зачем повторно назначать диалогу неверный размер. Решение заключается в хаке, который запрещает уменьшать окно класса TfmPropPage. При этом есть одна особенность. Диалог настройки драйвера занимает не всю вкладку 1с-овского окна "Параметры" по высоте. Дело в том, что под windows по y этот диалог меньше. Работает только при запуске через wineole. Принято. WINE@Etersoft 1.0.12 eter4/eter3 Откатил патч: commit 42b27f8d53ce92954cd3ced22780e4f8169d3e56 Author: Ilya Shpigor <shpigor@etersoft.ru> Date: Fri Dec 25 11:28:16 2009 +0300 user32: Hack to resize the atol driver dialog in 1c8 (eterbug #4682) При компиляции возникает ошибка: winpos.c: In function ‘SetWindowPos’: winpos.c:2063: error: ‘USER_DRIVER’ has no member named ‘pIsWindowManaged’ требуется переделать патч. Попыталась организовать проверку на eterhack, dragonfly в wine 2.0 Не удалось настроить торговое облорудование.Возможно,причина в баге 7929 (В ответ на comment #6) > Попыталась организовать проверку на eterhack, dragonfly в wine 2.0 > Не удалось настроить торговое облорудование.Возможно,причина в баге 7929 А вкладка то как выглядит? Бага про отображение вкладки. > А вкладка то как выглядит?
> Бага про отображение вкладки.
В 2.0 нормально.
(В ответ на comment #8) > В 2.0 нормально. Обманула.Вкладка "настройка свойств" обрезана. Если сделать обёртку для LoadTypeLibEx, вызывающую эту функцию из Win98-версии oleaut32.dll, то баг не проявляется. Таким образом, надо решать #4684. возникла еще одна трудность. когда запускается через ww, то при нажатии кнопки "Проверка", никакого окошка не появляется. и когда открывается Сервис -> Параметры... там нет вкладки Драйвер устройств ввода. запуская через wine такой проблемы нет. бага воспроизводится. просто нужно, чтобы был установлен Gecko, а при запуске через ww он не устанавливался автоматически. принудительная установка Gecko: $ ww control appwiz.cpl install_gecko удалось отловить окно, не удалось поправить координаты. клиентскуя часть окна поправить удалось. PageControl нет. нужно выяснить на всех ли драйверах сканеров проявляется эта ошибка. возможно, что проблема в том как АТОЛ создает эту вкладку. запуск с oleaut32=n падает при нажатии кнопки "Проверка" запуск с oleaut32.dll, взятой из windows, также точно падает при нажатии кнопки "Проверка" вернул слегка измененный патч commit 42b27f8d53ce92954cd3ced22780e4f8169d3e56 Author: Ilya Shpigor <shpigor@etersoft.ru> Date: Fri Dec 25 11:28:16 2009 +0300 user32: Hack to resize the atol driver dialog in 1c8 (eterbug #4682) но он помогает перерисовывать клиентскую область, но не решает проблему с контролом. патч oleaut32: Record DocString field in ITypeInfoImpl structure in function ITypeLib2_Constructor_SLTG. решает проблему со сдвигом контрола. хак [eterhack] user32 : Hack for tab Driver Input (eterbug #4682) все-таки нужен, для перерисовки клиетской части окна. Откладываем задачи, к которым не обращались более 100 дней. Задача относится к релизу 2.1. , который больше не поддерживается. Аннулирую. |