Укажите отработанное время

Отработанное время:
Продуктивное время:
Bug 6343 - 1С7.7: сообщения об ошибках при использовании встроенной oleaut32   Make a simular bug
Summary: 1С7.7: сообщения об ошибках при использовании встроенной oleaut32
Status: CLOSED FIXED
Alias: None
Product: WINE@Etersoft
Classification: Продукты (Products)
Component: OLE / DDE / RPC (show other bugs)
Version: 2.0
Hardware: PC All
: P4 minor
Target Milestone: ---
Assignee: Александр Морозов
QA Contact: Денис Баранов
URL:
Whiteboard:
Keywords:
Depends on:
Blocks: 760 42 6433
  Show dependency treegraph
 
In work:
Reported: 2010-10-28 18:02 MSD by Александр Морозов
Modified: 2010-12-12 01:52 MSK (History)
1 user (show)

See Also:
Заявки RT:
Связано с:
Дата напоминания:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Александр Морозов 2010-10-28 18:02:51 MSD
Если используется встроенная oleaut32, то при входе в базу выводится ряд сообщений об ошибках.

Дистрибутив 1С:
/var/ftp/pvt/Windows/1C/1Cv77/B770027-Network
Конфигурация:
/var/ftp/pvt/Windows/1C/1Cv77_configs/2008-05/1CACC45/R770498
Comment 1 Александр Морозов 2010-12-06 21:43:02 MSK
При входе в базу два раза выводится сообщение "Ошибка открытия документа", а после этого также довольно часто выводится "Неправильный формат файла". Фрагмент лога, предшествующий первому сообщению:

trace:ole:OLEPictureImpl_Load (0x1b0c3d8,0x32ce50)
trace:ole:OLEPictureImpl_Load stat failed with hres 80004001, proceeding to read all data.
trace:ole:OLEPictureImpl_Load Reading all data from stream.
trace:ole:OLEPictureImpl_Load loaded 39779 bytes.
trace:ole:OLEPictureImpl_Load line 1473 hr 00000000 magic 0xcdd7
trace:ole:OLEPictureImpl_LoadAPM
trace:metafile:SetMetaFileBitsEx line 1095
trace:ole:OLEPictureImpl_Load return 80004005

второму сообщению:

trace:ole:OLEPictureImpl_Load (0x1a640b8,0x32ae80)
trace:ole:OLEPictureImpl_Load stat failed with hres 80004001, proceeding to read all data.
trace:ole:OLEPictureImpl_Load Reading all data from stream.
trace:ole:OLEPictureImpl_Load loaded 410911 bytes.
trace:ole:OLEPictureImpl_Load line 1473 hr 00000000 magic 0x4d42
trace:ole:OLEPictureImpl_SetBitmap bitmap handle 0x6998
trace:ole:ConnectionPointImpl_EnumConnections (0x1a64128)->(0x32acf8)
trace:ole:OLEPictureImpl_Load return 00000000
trace:ole:OLEPictureImpl_Release (0x1a640b8)->(ref before=2)
trace:ole:OLEPictureImpl_PictureChanged (0x1a640b8)->()
trace:ole:ConnectionPointImpl_EnumConnections (0x1a64128)->(0x32ae0c)
trace:ole:OLEPictureImpl_Release (0x1a640b8)->(ref before=1)
trace:ole:OLEPictureImpl_Destroy (0x1a640b8)
trace:ole:ConnectionPointImpl_Release (0x1a64128)->(ref before=1)

Выяснил, что соответсвующий первой ошибке вызов OLEPictureImpl_Load читает картинку из стрима CalcVar\CalcVar_Number401\WorkBook\Page.4 в файле 1cv7.md.
Comment 2 Александр Морозов 2010-12-07 21:17:42 MSK
Переделал функцию OLEPictureImpl_Load так, чтобы она не использовала метод Stat интерфейса IStream. Эта функция реализует метод Load интерфейса IPersistStream объекта картинки. В MSDN говорится, что этот метод может использовать только Seek и Read:
http://msdn.microsoft.com/en-us/library/ms680568(v=VS.85).aspx

В результате при входе в базу перестали появляться окна с сообщениями об ошибках. Осталась проблема с появлением вот такого сообщения внизу:

ВерсияВнешнейОбработкиИБлока = Парам.Получить("Версия");
{C:\PROGRAM FILES\1CV77\1SBDB\EXTFORMS\RP08Q1.GRP\REKLAMA.ERT(41)}: Поле агрегатного объекта не обнаружено (Получить)
Comment 3 Александр Морозов 2010-12-08 21:06:13 MSK
> ВерсияВнешнейОбработкиИБлока = Парам.Получить("Версия");
> {C:\PROGRAM FILES\1CV77\1SBDB\EXTFORMS\RP08Q1.GRP\REKLAMA.ERT(41)}: Поле
> агрегатного объекта не обнаружено (Получить)
Проблема не проявляется, если использовать для 1С стороннюю msvcrt.
Comment 4 Денис Баранов 2010-12-11 17:43:33 MSK
Принято.