| Предыдущий | Следующий |
| DISP_E_EXCEPTION | DISP_E_BADINDEX |
DISP_E_OVERFLOW
Что означает DISP_E_OVERFLOW
DISP_E_OVERFLOW (0x8002000A) — значение существует математически, но не помещается в Automation-тип, к которому его пытаются привести.
COM Automation позволяет вызывать свойства и методы через IDispatch без жёсткой привязки к vtable-интерфейсу: имя преобразуется в DISPID, а Invoke получает аргументы как VARIANT/DISPPARAMS. Поэтому для DISP_E_* особенно важны конкретный член, DISPID и фактические типы аргументов.
Что проверить
- Запишите исходный
VARTYPE, значение и целевой тип coercion. - Проверьте границы signed/unsigned,
CY, целочисленных типов и преобразование floating-point. - Если ошибка зависит от locale, отделите parsing текста от последующего числового overflow.
Что делать
Выберите тип с подходящим диапазоном либо отклоняйте значение до Invoke с понятной проверкой границ.
Технические ссылки
Нужно найти другой код? Найти другой код состояния или ошибки.