Запуск под Windows XP и Windows 7 x64

Dennis S.
Дата: 02.03.2016 18:13:34
Добрый день.

В базе есть немалый модуль с регулярными выражениями - разработан и отлажен на Win XP. У заказчика Win 7 x64 - и система валится на строке:
Set objregexp = CreateObject("VBScript.RegExp")

Попробовал так -
Set objregexp = New RegExp
- система стопится с сообщением "Не могу создать объект" (не нашел скрина, чтобы озвучить номер ошибки).

Перейти на 64-битную винду не могу, поскольку работаю на виртуалке.

Посоветуйте, как создать объект RegExp в 64-битной винде и как организовать программу, чтобы в зависимости от системы запускались разные ветки одной функции (по-моему, это называется условная компиляция, ЕМНИП).

Спасибо.
MrShin
Дата: 02.03.2016 18:32:18
У меня Win 7 x64, Access 2010 x32, все создается.

Попробуйте ранее связывание: добавите референс на библиотеку Microsoft VBScript Regular Expressions 5.5, после чего должна появиться возможность объявить объект как
Dim objregexp As RegExp
MrShin
Дата: 02.03.2016 18:36:13
Да, имеет гораздо бОльшее значение разрядность Офиса, а не винды. У заказчика какой офис? Впрочем, стандартные библиотеки не должны от этого зависеть, только вызовы API отличаются, там действительно нужна условная компиляция. Возможно, у заказчика просто нет этой библиотеки, попросите его посмотреть, что есть в списке доступных библиотек.
MrShin
Дата: 02.03.2016 18:41:04
Попробовал на Win x64, Access 2013 x64 - тоже создается, библиотека, о которой я говорил, присутствиет
Dennis S.
Дата: 02.03.2016 18:53:54
Спасибо за советы - попробую сегодня и отпишусь.
Olga.P
Дата: 28.08.2016 18:50:28
У меня аналогичная проблема: отладила большое и сложное приложение Access2010 на Win7 x86 и x64. Все хорошо работает. Установила заказчику на Win7, x64. Cкорость такая, что работать просто невозможно. К тому же база недоступна для многопользовательской работы.
Выполнила рекомендации по ссылкам:
http://accessexperts.com/blog/2011/11/02/windows-7-64bit-slow-with-access-2007-solved/
http://social.msdn.microsoft.com/Forums/en/windowscompatibility/thread/f295994c-5812-4e46-8ac9-f05471d4dd54
Переустановила AccessDataBaseEngine.exe.
Проблема осталась. Дистибутив MS OFFICE один и тот же: и у меня, и у заказчика. Как найти причину?
aleks2
Дата: 29.08.2016 10:00:47
Olga.P
У меня аналогичная проблема

Аналогичность усматриваете в "тоже не работает"?

Olga.P
Как найти причину?

1. Ехать к заказчику и на месте смотреть "чего там скорость сажает?". Мож у заказчика диски в PIO свалились, а у вас "быстро" на SSD.

2. Сделать так, чтобы работало "оченно быстро" - тады у заказчика будет "нормально".
Tarasios
Дата: 29.08.2016 11:32:02
Olga.P, а точно Access виноват? У меня, например, в начале этого года любопытная проблема была: у заказчика "пошла глюками" и начала неимоверно тупить моя программа. Которая до этого на этом же компе работала вполне так нормально. Начал по телефону перебирать варианты возможных проблем, от простого: мол, какие ещё программы в памяти висят, давно ли чистили реестр и так далее. Клиент утверждал, что Виндовс не может быть "загаженным", так как недавно с нуля переставлял.
Что оказалось: у клиента сравнительно старенький системник (лет 5-6), с Виндовс 2003 сервер. Был. Кто то из его "спецов" обратил внимание на то, что стоит Винда "некошерная", и так как в системнике 4 гига оперативы, то "надо ставить Виндовс 7/64", ибо "современно и круто по умолчанию". Хотели вообще 8 или 10 поставить, но драйверов не нашли :)
Суть в чём, как я понял: системник был не простой, а реально в "серверном исполнении" (я эти моменты особо не волоку, потому говорю, как понял): специализированная материнка, и так далее. После танцев с бубном нашли родную инсталляху на виндовс 2003 сервер, всё стало летать.