Цитата:
Сообщение от
CasperSKY
Faulting application ax32.exe, version 3.0.1951.3730, stamp 40589f7c,
faulting module gear32pd.dll, version 7.1.2.2, stamp 369692d3,
fault address 0x00075816.
Такое ощущение, что в указанном месте gear32pd.dll идет попытка обращения к полю неинициализированного объекта, переданного в процедуру:
Код:
.1007580C: C20400 retn 4
.1007580F: 90 nop
.10075810: 55 push ebp
.10075811: 8BEC mov ebp,esp
.10075813: 8B4508 mov eax,[ebp][8]
.10075816: 8B804C040000 mov eax,[eax][00000044C]
.1007581C: 5D pop ebp
.1007581D: C20400 retn 4
Тут по адресу 0x10075816 берется из стека ссылка на объект, после чего у него считывается какое-то свойство по смещению 0x44c, которое по смыслу является возвращаемым значением процедуры по адресу 0x10075810. Я после запуска клиента Аксапты подключился бы отладчиком, поставил точку останова на это место в gear32pd.dll и затем посмотрел бы стек вызовов до этого места (в коде библиотеки вызовов указанного кода больше десятка), чтобы выяснить, в связи с чем вдруг туда вместо ссылки на объект передается null. По стеку вызовов можно было бы хотя б определить, возникает ли эта нулевая ссылка в самой библиотеке или же в клиенте Аксапты. Первое, впрочем, маловероятно, раз до сих пор используется версия библиотеки, собранная аж в 1999-м году. Сам я пробовал отловить вызов этой процедуры описанным способом, правда, на ядре 3.0.1951.7669, но у меня при сохранении отчета в файл rtf точка останова так и не сработала - может, картинок в дизайне не хватает или еще чего.
В любом случае, раз ошибка возникает в этой библиотеке, стало быть, она связана с формированием/отображением отчета, а не с той же БД. Можно попробовать отправлять разные заявки, а не одну и ту же, - посмотреть, сваливается ли клиент стабильно или же лишь на некоторых заявках.