Поддержка переключения языка в XP по горячим клавишам

Clarion, Clarion 7

Модератор: Дед Пахом

Правила форума
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
Аватара пользователя
Andrew™
SQL профи
Сообщения: 651
Зарегистрирован: 05 Июль 2005, 16:32
Откуда: Москва, Зеленоград

Поддержка переключения языка в XP по горячим клавишам

Сообщение Andrew™ »

Доработанная библиотека с шаблоном - Поддержка переключения языка в XP по
горячим клавишам.
Персональное спасибо Звигинцеву Михаилу за обнаруженный
баг при работе не под XP.

Теперь обрабатываются следующие функции:

OPEN(WINDOW)
OPEN(WINDOW,WINDOW)
CREATE
new control
CLONE

Собственно этот набор функий и нужен, если какую то функцию и упустил,
подскажитье какую, CLOSE и DESTROY не рассматриваются, вместо них юзаются
соответсвующие виндузовые события.
Файлик там же:
http://www.clarionlife.net/cgi-bin//bl_ ... ard_xp.zip

Суть метода заключается в перехвате этого списка функций на свои, в который вызываются оригинальные функции с доб обработкой до и после вызова. Метод безболезненный, их много и этот самый правильный, в таблице иморта каждой загрузочной DLL ки и EXE модуля меняется адрес функции на адрес функции перехватчика.

Регистрировать шаблон надо для одного проекта один раз в любом APP из общего проекта, по хорошему, это должна быть та APP которая юзается в разных проектах, или по простому в той APP, где Global Data Not External
Шаблон делает в головном модуле APP ВСЕГО ОДНУ ВСТАВКУ:
! **************** XP Keyboard Switcher ***************************
_mavkbdxpLinkMode_ EQUATE(0)
_mavkbdxpDllMode_ EQUATE(1)
INCLUDE('A1KeyboardXP.INC'),ONCE
xpKeyboardSwitcher A1KeyboardXP
! **************** XP Keyboard Switcher ***************************

и подключает нужную библиотеку к проекту, в конструкторе A1KeyboardXP происходит один раз соответсвующая инициализация - перехват, в самих процедурах ничего дополнительного вставлять не надо, была раньше идея написать просто шаблон который внедряется в шаблонные окошки и делает там соответсвующие вставки, но , блин, есть и рукописные окошки, и что получается, туда надо всё ручками вставлять и опять все пересобирать.

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

ЗЫ
Тут мысля приша, если перехватить все файловые функции, а их не так уж много, то можно заставить работать существующее FILE,DRIVER приложение по технологии MAV, MAV - это GROUP, у FILE,DRIVER в качестве GROUP будет её RECORD, можно попробовать.
Аватара пользователя
Andrew™
SQL профи
Сообщения: 651
Зарегистрирован: 05 Июль 2005, 16:32
Откуда: Москва, Зеленоград

НУЖНА ИНФОРМАЦИЯ

Сообщение Andrew™ »

ЛЮДИ!!!
Смотрю много скачивает народу библиотеку, и понятно почему, проблема шибко актуальная.

Нужна информация:
1. на каких операционках тестировали.
2. в с сочетании с какими переключателями.
3. Версия Clarion
4. EXE или MULTI DLL приложение.

Библиотека должна работать в любых сочетаниях.
Если это не так, бум дорабатывать.

ЗЫ
по поводу C6, библа под C6.2 Build 9047
Звигинцев

Поддержка переключения языка в XP по горячим клавишам

Сообщение Звигинцев »

Варианты тестирования следующие:
-------------------------------------------
1. Windows XP Pro rus SP2
2. штатный
3. С55H
4. Multi DLL
-------------------------------------------
1. Windows XP Pro rus SP2
2. Punto Switcher
3. С55H
4. Multi DLL
-------------------------------------------
1. Windows 2000 rus SP4
2. штатный/Punto Switcher
3. С55H
4. Multi DLL
-------------------------------------------
gudkov
Бывалый
Сообщения: 67
Зарегистрирован: 03 Август 2005, 14:03
Откуда: Иркутск

Сообщение gudkov »

А варианта для Local сборки не предвидиться?
Удачи!
Аватара пользователя
Andrew™
SQL профи
Сообщения: 651
Зарегистрирован: 05 Июль 2005, 16:32
Откуда: Москва, Зеленоград

Сообщение Andrew™ »

gudkov писал(а):А варианта для Local сборки не предвидиться?
теперь все режимы сборки поддерживаются:

http://mavcla.arsis.ru/Download/keyboard_xp.zip
Аватара пользователя
Andrew™
SQL профи
Сообщения: 651
Зарегистрирован: 05 Июль 2005, 16:32
Откуда: Москва, Зеленоград

ИСХОДНИКИ

Сообщение Andrew™ »

Если кому интересно, могу предложить исходники данной библиотеки.

есть вариант такой 19$ (WebMoney), исходники 32 кил
там не только алгоритм переключения, но и алгоритм перехвата любых функций из любых DLL, есть базовые классы, переключалка уже на них сидит, и легко для своих целей заюзать базовые классы в своих проектах. Вся реализация чисто на языке Clarion. Я понимаю что есть вероятность их тиражирования, но на вопросы по исходникам буду отвечать только официальным.

ЗЫ

Время - деньги, я потратил не мало времени на изучение механизмов перехвата функций.

Знаю что многие решают эту проблему установкой стороннего бесплатного переключателя. Потому и отдал решение в виде DLL/LIB/TPL, за исходники хотца вознограждения.
Аватара пользователя
Admin
Администратор
Сообщения: 3959
Зарегистрирован: 05 Июль 2005, 15:59
Откуда: Хабаровск
Благодарил (а): 25 раз
Поблагодарили: 22 раза
Контактная информация:

Сообщение Admin »

Это типа реклама, а мне процент? :):):)
Аватара пользователя
Andrew™
SQL профи
Сообщения: 651
Зарегистрирован: 05 Июль 2005, 16:32
Откуда: Москва, Зеленоград

ИСХОДНИКИ

Сообщение Andrew™ »

Admin писал(а):Это типа реклама, а мне процент? :):):)
да можно и так, всё равно никто не купит ;)
Аватара пользователя
Andrew Listiev
Активист
Сообщения: 166
Зарегистрирован: 07 Июль 2005, 11:16
Откуда: Латвия, Рига

Сообщение Andrew Listiev »

Ща закрою топик :twisted: :twisted: :twisted:
Аватара пользователя
Andrew™
SQL профи
Сообщения: 651
Зарегистрирован: 05 Июль 2005, 16:32
Откуда: Москва, Зеленоград

ИСХОДНИКИ

Сообщение Andrew™ »

Andrew Listiev писал(а):Ща закрою топик :twisted: :twisted: :twisted:
да ради бога
Последний раз редактировалось Andrew™ 14 Октябрь 2005, 13:50, всего редактировалось 1 раз.
Аватара пользователя
Andrew Listiev
Активист
Сообщения: 166
Зарегистрирован: 07 Июль 2005, 11:16
Откуда: Латвия, Рига

Сообщение Andrew Listiev »

Прошу не обижаться, этот раздел не связан с рекламой. Сейчас же попрошу админа создать тему для рекламы продуктов для Clarion'a!
Аватара пользователя
Andrew Listiev
Активист
Сообщения: 166
Зарегистрирован: 07 Июль 2005, 11:16
Откуда: Латвия, Рига

Сообщение Andrew Listiev »

Если задела моя реакция, как модератора данного раздел, то лучше в приват. И прошу высказываться более сдержанно :) Усё
Аватара пользователя
Admin
Администратор
Сообщения: 3959
Зарегистрирован: 05 Июль 2005, 15:59
Откуда: Хабаровск
Благодарил (а): 25 раз
Поблагодарили: 22 раза
Контактная информация:

Сообщение Admin »

Да шутка это! Вы что люди...
Рекламируйте что хотите, главное с Кларионом связанное :)
Аватара пользователя
Andrew Listiev
Активист
Сообщения: 166
Зарегистрирован: 07 Июль 2005, 11:16
Откуда: Латвия, Рига

Сообщение Andrew Listiev »

Угу :lol:
Аватара пользователя
StillZero
Ветеран
Сообщения: 454
Зарегистрирован: 06 Июль 2005, 2:17
Откуда: Хабаровск
Контактная информация:

Сообщение StillZero »

у меня тоже вчера настроение гавно было
Ответить