В настоящее время вы работаете в автономном режиме; ожидается повторное подключение к Интернету

Устранение неполадок «Не найден член» ошибка 0x80020003

ВНИМАНИЕ! Данная статья переведена с использованием программного обеспечения Майкрософт для машинного перевода и, возможно, отредактирована посредством технологии Community Translation Framework (CTF). Корпорация Майкрософт предлагает вам статьи, обработанные средствами машинного перевода, отредактированные членами сообщества Майкрософт и переведенные профессиональными переводчиками, чтобы вы могли ознакомиться со всеми статьями нашей базы знаний на нескольких языках. Статьи, переведенные с использованием средств машинного перевода и отредактированные сообществом, могут содержать смысловое, синтаксические и (или) грамматические ошибки. Корпорация Майкрософт не несет ответственности за любые неточности, ошибки или ущерб, вызванные неправильным переводом контента или его использованием нашими клиентами. Подробнее об CTF можно узнать по адресу http://support.microsoft.com/gp/machine-translation-corrections/ru.

Эта статья на английском языке: 172108
Аннотация
В данной статье описаны некоторые общие причины ошибки OLE-автоматизации -2147352573 (80020003 в шестнадцатеричной системе) и предлагаемые действия по устранению неполадок.

Сообщение об ошибке может отображаться как DISP_E_MEMBERNOTFOUND.
Дополнительная информация

Причина 1

При вызове IDispatch::Invoke() с равным DISPATCH_METHODand wFlags dispid определяет свойство.

Решение 1

В документации Win32 SDK для IDispatch::Invoke() говорится, что если thedispid представляет свойство, необходимо также установить DISPATCH_PROPERTYGETflag. Эта проблема часто возникает при использовании Microsoft Visual C++ togenerate классов оберток из библиотеки типов Microsoft Office 95. У вас имеются явно изменять созданные CPP-файл для любой вызов InvokeHelper (), извлекается свойство использовать флаг DISPATCH_PROPERTGET. Если библиотеки типов youuse Microsoft Office 97, это делается автоматически bythe мастер классов Microsoft Visual C++.

Причина 2

При использовании неправильного указателя IDispatch.

Решение 2

Обычно это происходит при использовании OLE-автоматизации приложений Microsoft Office97 или любого приложения, которое имеет иерархическую объектную модель. Возможно был инициализирован класс COleDispatchDriver, представляющая objectX, указатель интерфейса IDispatch для объекта Y. Эта ошибка может или может notoccur с Microsoft Office 95 или другим приложениям только oneIDispatch реализации. Это потому, что X и Y объектов может bothbe реализуется через один интерфейс IDispatch и таким образом не willoccur конфликт.

Причина 3

Используется недопустимый идентификатор dispid.

Решение 3

Сервер не распознает dispid, указанный в вызове toIDispatch::Invoke(). Убедитесь, что используется правильный идентификатор dispid, possiblythrough IDispatch::GetIDsOfNames().
Ссылки
Дополнительные сведения о IDispatch или OLE-автоматизации, ознакомьтесь Технический TN039 «Реализация автоматизации MFC/OLE».

Дополнительные сведения о библиотеках типов и их использовании в MicrosoftVisual C++ см.

Справка комплект разработки программного обеспечения Microsoft Win32; поиск по: «Введите библиотеки импорт классов».

Для получения дополнительных сведений обратитесь к следующей статье theMicrosoft базы знаний Майкрософт:

165273 Ошибка: XL97 ошибки с помощью OLE-автоматизации

Свойства

Номер статьи: 172108 — последний просмотр: 07/25/2015 14:58:00 — редакция: 5.0

  • kbFAQ kbhowto kbmt KB172108 KbMtru
Отзывы и предложения