Мои комментарии

Заголовок Comment Дата публикации Дата обновления
Проделал все манипуляции и

Проделал все манипуляции и сделал все скриншоты. Прикладываю...

Access зачем-то грузит IDAPI32.DLL по адресу 0A2B0000, а не по ожидаемому 4BDE0000.

Вот цитата из документации BDE (BDE32.HLP, статья Initialization), где явно говорится, что некоторые DLL-ки должны быть загружены по фиксированным адресам:

Shared memory loading addresses for DLLs
BDE reserves certain preferred memory addresses for use by its DLLs. In most cases, if a DLL cannot be loaded at its preferred address, it will load at some other address determined by the system.
However the DLLs listed below must be loaded at the same preferred address in all applications using BDE. The native BDE drivers reserve the following addresses:

BDE DLLs Addresses

IDAPI32.DLL 0x4BDE0000
IDPDX32.DLL 0x4CDE0000
IDDBAS32.DLL 0x4DDE0000
IDASCI32.DLL 0x4EDE0000

If these memory locations are already in use by other applications, the BDE DLLs assigned to those locations might not load, in which case an error message would be generated:

If Idapi32.dll cannot load because the address space is already used, then DBIERR_CANTLOADIDAPI is returned.

Из скриншота я не вижу, что ему мешает использовать адрес 4BDE0000.
Других DLL, по крайней мере, в требуемом диапазоне адресов нет.
С помощью VMMap можно посмотреть другие типы памяти (Shared и т.д.) на предмет занятости адресного пространства в диапазоне от 04B00000 до 04F00000.

Еще из скриншота видно, что в адресном пространстве Access присутствуют DLL-ки продукта Crypto Pro.
Для них, также как для BDE, не используется ASLR (динамическое назначение адреса).
Явного занятия желаемых адресов BDE я не вижу, но потенциальный конфликт возможен (опять же надо смотреть другие виды памяти).

Вывод такой, что хулиганит Access. Что его заставляет - из имеющихся данных не понятно.

У Вас Проводник не показывает

У Вас Проводник не показывает расширения файлов.
Просто надо снять галочку в Панели управления:

http://www.ib.ru/sites/default/files/attachments/ext.png

Высылаю подробный отчет о

Высылаю подробный отчет о системе, системных папок и т.д.

Я просил не это, а скрин окна Справка-Компьютер в ИНФО-БУХГАЛТЕРЕ.
Но тут тоже кое-что видно.
Вот с этими настройками у BDE могут быть проблемы:
TEMP C:\Users\2BA0~1\AppData\Local\Temp
TMP C:\Users\2BA0~1\AppData\Local\Temp
USERNAME Њ ЄбЁ¬

Но на этапе загрузки DLL-ей это, скорее всего, не влияет.

Путь к Инфо-Бухгалтеру я увидел на скриншоте C:\IB\USN, тут все Ок.
Рабочая папка в ярлыке, я полагаю, такая же.

Сделал проверку Image программой VMMap.
Не все грузится согласно вашему скриншоту.
Прикрепляю свой.

Я просил Image для Access, а не для Инфо-Бухгалтера.

1. Запустите только Access, а Инфо-Бухгалтер не запускайте.
Откройте VMMap, выбрать Access, выбрать Image, PrintScreen.

2. При уже запущенном Access запустить Инфо-Бухгалтер.
Должно появиться окошко ошибки (как в Вашем исходном сообщении).
Откройте VMMap, выбрать ibwn8a.exe, выбрать Image, PrintScreen.

На всякий случай напишите еще используемую версию MS Office (Access).
Если из скриншотов ничего не прояснится, то буду пытаться воспроизвести ситуацию у себя, под виртуалкой.

И еще.

И еще.
При запущенном Access откройте VMMap, выберите его, нажмите Image.
DLL-ки BDE должны быть загружены по таким же адресам, как на моей картинке.

http://www.ib.ru/sites/default/files/attachments/bde_dlls.png

Что еще и где подкрутить

Что еще и где подкрутить можно?

Конфликт разделяемой памяти - это первое, что приходит на ум.
По крайней мере, несколько таких случаев мне известно и там предложенный способ помогал.

Но у Вас проблема может быть в чем-то другом.
Приведите снимок окна Справка-Компьютер чтобы посмотреть пути к папкам Инфо-Бухгалтера и временной.
Эти пути не должны содержать пробелов и русских букв.

Также следует проверить настройку папки BDE NETDIR. Она должна располагаться на сетевом диске и быть доступной на запись всем пользователям.

Также проблемы могут возникать из-за наличия русских букв в сетевом имени компьютера и пользователя.

Скажите, у меня нет ветки

Скажите, у меня нет ветки
HKEY_LOCAL_MACHINE\SOFTWARE\Borland\Database Engine\Settings\SYSTEM\INIT

В 64-битной Windows отдельная ветка реестра для 32-битных приложений:
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Borland\Database Engine\Settings\SYSTEM\INIT

Сделал как написано, два прин

Нда... Очень странно ведет себя BDE.
Значения, которые я устанавливаю в BDEADMIN (под адм.), попадают в IDAPI.CFG, но не в реестр.
Программы по факту используют значения из реестра, а не из IDAPI.CFG...
Это показывает программа VMMap.

По кнопке "Исправить" в Инфо-Бухгалтере значения устанавливаются и в IDAPI.CFG, и в реестр.
Но тут принудительно устанавливается рекомендуемые значения 2BDE и 32768,
которые в данном случае нас не устраивают.

Вижу выход только в одном.
Руками в реестре поставить нужные значения, а не через BDEADMIN.
Я для эксперимента поставил в
HKEY_LOCAL_MACHINE\SOFTWARE\Borland\Database Engine\Settings\SYSTEM\INIT
SHAREDMEMLOCATION=1200
SHAREDMEMSIZE=4096

и VMMap увидела эти изменения в адресном пространстве Инфо-Бухгалтера:

http://www.ib.ru/sites/default/files/attachments/vmmap2.png

В Windows Vista и выше

В Windows Vista и выше обычным программам нельзя записывать файлы в корень диска C:
В BDE по умолчанию файл PDOXUSRS.NET там пытается создаваться.
При такой настройке BDE будет нормально работать только в Windows XP.

Поэтому в Windows Vista, 7, 8 и т.д. Инфо-Бухгалтер проверяет параметр NET DIR, чтобы он не был настроен на корень системного диска.
В локальной версии предлагается создать папку на системном диске C:\BdeNetD. К файлам в папке у BDE будет полный доступ.
Если у Вас сетевая версия Инфо-Бухгалтера, то в качестве NET DIR надо указать сетевой диск (например, L: или папку на сетевом диске L:\BdeNetD).
При этом на всех рабочих местах этот параметр должен быть задан одинаково.

По пути c:\Максим\AppData

По пути c:\Максим\AppData\Local\VirtualStore\Program Files (x86)\Borland\Common Files\BDE\IDAPI.CFG нет такого файла.

Я же написал - могут.
Он там появится, если BDEADMIN не из-под администратора запускался хоть раз.
Причем, Инфо-Бухгалтер будет видеть настройки из файла в VirtualStore.

Значения SHAREDMEMLOCATION ставил 2000,2100,2500,2700,2900 ошибка осталась. Понижал SHAREDMEMSIZE = 2048 все так же.... Есть еще идеи?

Скачайте программку VMMap здесь.
При запуске выбираете процесс Инфо-Бухгалтера и смотрите блоки памяти, которые shareable.
Аналогично смотрите для Access.

http://www.ib.ru/sites/default/files/attachments/vmmap.png

Проверьте, что Инфо-Бухгалтер

Проверьте, что Инфо-Бухгалтер видит эти же значения.
Справка->Компьютер->Кнопка BDE.
Если там другие значения видны, то поставьте галочки и нажмите кнопку "Исправить".

Настройки BDE могут быть в трех разных местах:
- в реестре
- в файле С:\Program Files (x86)\Borland\Common Files\BDE\IDAPI.CFG
- в файле <Пользователь>\AppData\Local\VirtualStore\Program Files (x86)\Borland\Common Files\BDE\IDAPI.CFG

Нажатие на кнопку Исправить синхронизирует реестр и IDAPI.CFG и очищает VirtualStore.

Нашел этот параметр в

Нашел этот параметр в настройка BDE, экспериментировал со значениями SHAREDMEMLOCATION(1000,3000,4000,3BDE,4BDE,9BDE, и т.д.).
Ошибка осталась...

Больше 4A00 лучше не ставить, а то будут конфликты с DLL-ями,
которые там располагает загрузчик Windows.
2BDE - это значение по умолчанию, которое ставит Инфо-Бухгалтер.
Я бы попробовал близкие значения: 2000, 2100, 2200...
Надо найти свободное окошко а общем адресном пространстве.
Требования к окошку можно понизить, уменьшив его размер.
Попробуйте поставить SHAREDMEMSIZE = 2048.

BDEADMIN с правами Администратора запускаете?

В справке Инфо-Бухгалтера 8

В справке Инфо-Бухгалтера 8 посмотрите статью "Настройки BDE"
(введите в поле поиска в панели инструментов окна справки).
Обратите внимание на настройки разделяемой памяти (shared memory).

Вкратце, надо изменять параметр SHAREDMEMLOCATION до исчезновения конфликта.

Windows XP sp3 здесь не

Windows XP sp3 здесь не влияет.

Ошибка 0xc000001d "Invalid instruction".
Причина ошибки в том, что старые модели процессоров
не поддерживают набор команд SSE2.

Для семейства Intel - это все что ниже Pentium IV и Celeron D.
Для AMD - все что ниже AMD 64.

В число процессоров, которые не поддерживают SSE2,
входят такие распространенные в свое время модели, как Pentium III и Athlon XP.

Возможным решением проблемы будет ограничение используемых команд набором 386-го процессора для компонентов установщика и самой программы Инфо-Бухгалтер 8.
В настоящее время мы работает над этим.

Если тестирование пройдет успешно, то следующее обновление программы Инфо-Бухгалтер 8 будет собрано без поддержки инструкций SSE2 и ошибка 0xc000001d уйдет.

По поводу обращения в

По поводу обращения в дилерский отдел - они сказали, что код-вопрос мы дали по ИБ 10, хотя у нас она даже не установлена. Но код-ответ нам прислали по ИБ 8.

Код вопроса генерируется программой ChkKeyA.exe, которая используется также для ИБ 10 (в этом смысле код вопроса такой же, как для регистрации ИБ 10).
Для обновления формата ключа требуется специальный код ответа (его ли Вам прислали?).
И вводить его нужно также в программе ChkKeyA.exe так, как это описано в статье
Обновление формата электронного ключа Guardant Net.

Однако каждый раз при

Однако каждый раз при загрузке ИБ поиск ключа занимает по 3-4 мин.

В файле gnclient.ini укажите ip-адрес или сетевое имя сервера, отключите broadcast.

Попробовали обновить вормат ключа указанной утилитой, получили код-вопрос для обновления и отправили на сайт.
Код-ответ прислали быстро, вот только он не подошел - программа указала ошибку "Не удалось обновить ключ. ошибка 74". Что за ошибка - не понятно.

Формат ключа требует обновления для работы с новой версией сервера Guardant - 7.0. Если у Вас сервер ключ видит и отображает в браузере правильное количество лицензий, то обновление формата не нужно.

Ошибка 74 означает, что в коде ответа не содержится необходимых данных.
Вероятнее всего это вызвано тем, что был прислан код ответа для регистрации программы вместо кода ответа для обновления формата.
Для получения кода ответа на обновление формата ключа надо обратится в дилерский отдел.
Но еще раз замечу, что обновление формата скорее всего не нужно (и уж точно не влияет на скорость поиска ключа).

При этом ИБ версии 8.704 (с которой мы также работаем) ключ вообще не видит.

Для работы со старыми ИБ надо установить сервер Guardant 6.0 или более ранний.
Т.к. ИБ собирался с клиентской частью Guardant версии 6.0, 5.x и т.д.
Старая клиентская часть не будет работать с новым сервером (7.0).

С ключом Sentinel, с которым мы работали ранее, подобных проблем не было.

Да, ключи Sentinel SuperPro более быстрые и надежные.
К сожалению, их производитель может в любой момент прекратить выпуск, а новых моделей на замену нет.

У нас та же проблема!

У нас та же проблема!
Windows XP sp3
Как помочь пользователям?

К сожалению, универсального совета дать не получится.

В отдельных случаях ошибки возникают и на XP sp3, когда системные библиотеки испорчены вирусом или "кряком".
При этом dependencywalker ничего криминального не показывает, все системные библиотеки на месте.
При попытке загрузки библиотек система возвращает ошибку 0xC000001D Invalid instruction.

"Чудеса" на такой системе не ограничиваются отказом загрузки ibw8evp.dll.
Например, то что я вчера видел у пользователей на компьютере (по тимвьюеру): запускается, но неправильно работает простейшая тестовая программка из 3-х строчек, не работает копирование экрана в буфер обмена по клавише PrintScreen.

По поводу Windows XP sp2.
Чистая система содержит kernel32.dll, в которой нет одной функции (GetLogicalProcessorInformation) используемой библиотеками msvcr120.dll и т.д.
Может быть Microsoft это специально устроил - я не знаю.
Поэтому на чистой XP sp2 Инфо-Бухгалтер не запустится без вариантов.

Но могут быть и различные переходные формы от sp2 к sp3.
Например, при установке Internet Expolorer 7, 8 заменяются многие системные библиотеки.
Поэтому, нельзя исключать возможность того, что Инфо-Бухгалтер может запуститься
и на Windows XP sp2 с обновленными системными библиотеками.

Начну с того, что

Начну с того, что подразумевается под "автоматическим сменой шрифта" - я не понимаю...

На закладке "Шрифты" в меню Установка->Настройка для бланков задается шрифт по умолчанию.
Этот шрифт применяется для вновь создаваемых бланков.
Для существующего бланка его собственный шрифт записан в файле BLW и уже не зависит от настроек в ibw.ini.
Меняется собственный шрифт в редакторе бланка, пункт меню "Шрифт бланка".

В файле ibw.ini размер шрифтов хранится в пикселях, нормированных для разрешения 96 dpi.
Например, для шрифта Courier New 10 там будет строчка:
[Fonts]
...
Docs=Courier New,-13,...
...

При пересчете размера из пикселей в поинты (это которые 10, 11...) может происходить округление.

Посмотрите, что у Вас записано в файле ibw.ini.
Сам этот файл лучше положить в папку программы.
Если он лежит в папке Windows, то могут быть проблемы в виртуализацией файловой системы.

Если не грузится ibw8env.dll,

Если не грузится ibw8env.dll, то значит нет каких-то библиотек, от которых она зависит.
Скачайте dependency walker (http://dependencywalker.com) и откройте им ibw8env.dll.
Недостающие dll там будут отмечены восклицательными знаками.

Странно как-то стала ругаться

Судя по РС_... - это у Вас расчетный столбец.
В алгоритмах расчетных столбцов запрещен показ диалоговых окон и использование некоторых других возможностей пользовательского интерфейса (GUI).
Такие алгоритмы работают с ограниченной моделью пользовательского интерфейса (GUI model),
в которой пресекаются попытки запрещенных вызовов.
В данном случае имела место попытка вызова метода ДИАЛОГ.ПОКАЗАТЬ.

Не получится добавить вторую

Не получится добавить вторую операцию с таким же значением полей MDATE и NUMINDATE.
Для второго INSERT будет key violation.

Т.е. для безопасного добавления псевдокод такой:
ЦИКЛ ПОКА (НЕ добавили)
num = SELECT MAX(NUMINDATE)...
ЕСЛИ (INSERT ... num ...) ТО
добавили = ДА
КОНЕЦ_ЕСЛИ
КОНЕЦ_ЦИКЛА

Пропуски в значениях NUMINDATE для одной даты не должны на что-то влиять.