Site icon EfmSoft

Что означает код HRESULT 0x800288BD (TYPE_E_BADMODULEKIND)?

 
Предыдущий Следующий
TYPE_E_DLLFUNCTIONNOTFOUND TYPE_E_SIZETOOBIG

TYPE_E_BADMODULEKIND

Что означает TYPE_E_BADMODULEKIND

TYPE_E_BADMODULEKIND означает, что операция над COM type library требует определённый вид module/type information, а переданный объект имеет несовместимую форму.

Что проверить

  • TYPEKIND и TYPEFLAGS целевой объект type info.
  • Какую операцию с metadata выполняет generator или importer.
  • Исходное объявление и содержащую type library.
  • Не пытается ли код добавить описание module/function к record/interface другого вида.

Как исправлять

Не исправляйте ошибку приведением типа существующего ITypeInfo: TYPEKIND является частью семантики type library. Генератор должен создать или выбрать конструкцию нужного вида, например настоящий TKIND_MODULE, если операция относится к функциям уровня module. Сравните ошибочный результат с минимальной корректной type library, сгенерированной тем же набором инструментов. После исправления повторите регистрацию/import и убедитесь, что соседние типы не изменили свой TYPEKIND.

Технические ссылки


Нужно найти другой код? Найти другой код состояния или ошибки.

Exit mobile version