Вход на сайт
немецкая программа MS Access в русском окружении
204
NEW 03.11.09 09:21
Привет всем, проблема следующего харакера.
Есть приложение на MS Access, написаное в полностью немецком окружении (OS, MS Access de) и использованием некоторых ActiveX компонентов.
Понадобилось запустить это приложение на русской винде. Программа не запускается при установленной поддержке неюникодных программ русский (Панель управления-> язык и региональные стандарты-> дополнительно -> русский): Ошибка #2501, прервано выполнение комманды OpenForm.
Если в указанных настройках установлен английский, то программа запускается, но этот вариант недопустим, т.к. другие некоторые программы не работают с этой установкой.
После ковыряний обнаружил, что ошибка возникает даже тогда, когда в методе Open_Form открываемой формы не было совершенно никакого кода. А вот сам метод удаляется, форма показывается.
В чем может быть проблема, как ее можно решить, не меняя установок в региональных установок?
PS: Я не программировал эту программу, и вообще мои познания Access поверхностные
Есть приложение на MS Access, написаное в полностью немецком окружении (OS, MS Access de) и использованием некоторых ActiveX компонентов.
Понадобилось запустить это приложение на русской винде. Программа не запускается при установленной поддержке неюникодных программ русский (Панель управления-> язык и региональные стандарты-> дополнительно -> русский): Ошибка #2501, прервано выполнение комманды OpenForm.
Если в указанных настройках установлен английский, то программа запускается, но этот вариант недопустим, т.к. другие некоторые программы не работают с этой установкой.
После ковыряний обнаружил, что ошибка возникает даже тогда, когда в методе Open_Form открываемой формы не было совершенно никакого кода. А вот сам метод удаляется, форма показывается.
В чем может быть проблема, как ее можно решить, не меняя установок в региональных установок?
PS: Я не программировал эту программу, и вообще мои познания Access поверхностные
NEW 03.11.09 09:35
в ответ Mmmaloy 03.11.09 09:21
Добавлю, что при возникновении любых событий формы (например нажатие кнопок) возникает ошибка "Выражение Нажатие кнопки, введенное в поле свойства события вызывает ошибку: Возникла ошибка при установлении связи в приложении ХХХ с сервером OLE или элементом управления ActiveX "
NEW 03.11.09 09:47
в ответ Mmmaloy 03.11.09 09:21
Про какой Access хоть речь идёт?
Я бы попытался в русском окружении откомпилировать код и посмотреть на ошибки, после этого будет ясно насколько много переделывать (например, умляюты в именах функций и переменных) Программисты Access и вообще VBA - это самые коварные программисты, такое иногда придумают.
Я бы попытался в русском окружении откомпилировать код и посмотреть на ошибки, после этого будет ясно насколько много переделывать (например, умляюты в именах функций и переменных) Программисты Access и вообще VBA - это самые коварные программисты, такое иногда придумают.

NEW 03.11.09 09:53
в ответ toptop 03.11.09 09:47
В данном случае идет речь о 2003 версии, хотя программа сартует и с более поздними программами
Программу компилирую в русском окружении - 0 ошибок,
Данную форму на предемет умлаутов проработал, все поудалял/закоментировал.
По всей видимомсти рантайм не может связать события формы с кодом. Как лечить не знаю.
Программу компилирую в русском окружении - 0 ошибок,
Данную форму на предемет умлаутов проработал, все поудалял/закоментировал.
По всей видимомсти рантайм не может связать события формы с кодом. Как лечить не знаю.

NEW 03.11.09 11:42
в ответ Mmmaloy 03.11.09 09:35
"Выражение Нажатие кнопки, введенное в поле свойства события вызывает ошибку: Возникла ошибка при установлении связи в приложении ХХХ с сервером OLE или элементом управления ActiveX "
-----
Судя по описанию на форме лежит какой-то компонент, который определен как ActiveX, идля которого есть разница в определении для русской и немецкой версий. Что именно "не то" - надо смотреть по коду... хотя это - Access - в нем может быть много работающего не тривиально...
-----
Судя по описанию на форме лежит какой-то компонент, который определен как ActiveX, идля которого есть разница в определении для русской и немецкой версий. Что именно "не то" - надо смотреть по коду... хотя это - Access - в нем может быть много работающего не тривиально...
NEW 03.11.09 13:26
в ответ Mmmaloy 03.11.09 13:06
Форма простецкая
-----
Пересоздай и подвяжи обработчики - работы на пару минут...
Эээ... как вариант - не было ли включено что-нибудь типа локализации при создании формы? Хотя... ты уже сказал, что не писал этого... Можно посмотреть в системных таблицах базы что за язык выбран для формы - чтобы работало везде должен быть какой-то из нейтральных англиских...
-----
Пересоздай и подвяжи обработчики - работы на пару минут...

Эээ... как вариант - не было ли включено что-нибудь типа локализации при создании формы? Хотя... ты уже сказал, что не писал этого... Можно посмотреть в системных таблицах базы что за язык выбран для формы - чтобы работало везде должен быть какой-то из нейтральных англиских...
NEW 03.11.09 15:05
в ответ Murr 03.11.09 13:26
Пересоздай и подвяжи обработчики - работы на пару минут...
---
На самом деле форм очень много, что бы их все пересоздавать
Можно посмотреть в системных таблицах базы что за язык выбран для формы - чтобы работало везде должен быть какой-то из нейтральных англиских...
---
Какая имено таблица, не могу найти
---
На самом деле форм очень много, что бы их все пересоздавать
Можно посмотреть в системных таблицах базы что за язык выбран для формы - чтобы работало везде должен быть какой-то из нейтральных англиских...
---
Какая имено таблица, не могу найти
NEW 03.11.09 16:47
в ответ Murr 03.11.09 15:30
В 2003 и предыдущих это системная таблица MSysObjects. Но вначале нужно разрешить показывать системные объекты, а вот чего связанного с языками там в упор не помню, может в 2007 добавили?
Давным-давно пытались апликуху 97 немецкого Access на английской винде запустить, она напрочь не компилировалась. Сейчас-то хоть компилируется и то прогресс.
Давным-давно пытались апликуху 97 немецкого Access на английской винде запустить, она напрочь не компилировалась. Сейчас-то хоть компилируется и то прогресс.

NEW 03.11.09 22:43
в ответ toptop 03.11.09 16:47
а вот чего связанного с языками там в упор не помню
-----'
Эээ... если Я правильно помню, то там форма хранится как локализованный ресурс.
Как именно - не смотрел очень давно... со времен Аксесс'95. Более поздние версии
пользовал исключительно как фронт для MS SQL баз - в мемо поля показываются
нормальным текстом...
-----'
Эээ... если Я правильно помню, то там форма хранится как локализованный ресурс.
Как именно - не смотрел очень давно... со времен Аксесс'95. Более поздние версии
пользовал исключительно как фронт для MS SQL баз - в мемо поля показываются
нормальным текстом...
NEW 04.11.09 10:16
в ответ Mmmaloy 03.11.09 09:53
Да, еще можно попробовать Microsoft AppLocale Utility. Она, по сообщениям производителя, позволяет запустить программу с отличными от операционки языковыми настройками. Правда, она для XP и 2003, но, кажется, что-то было и для висты. Я пробовал русские программы без юникода на немецкой винде. Как наоборот будет не знаю. Опять же не помню, как там с параметрами. Надо же Access с именем базы в качестве параметра запустить.
Удачи.
Удачи.