COM SmartPtr работает, пока я не оставлю свой диалог бездействующим в течение ~ 10+ минутC++

Программы на C++. Форум разработчиков
Ответить Пред. темаСлед. тема
Anonymous
 COM SmartPtr работает, пока я не оставлю свой диалог бездействующим в течение ~ 10+ минут

Сообщение Anonymous »

Код, с которым я работаю, большой и сложный. Извините, если у меня недостаточно информации, но я не могу поделиться большим количеством кода по множеству причин. Я надеюсь, что кто-нибудь сможет подтолкнуть меня в правильном направлении, чтобы решить мою проблему.
У меня есть _COM_SMARTPTR, ICore, который ведет себя так, как ожидалось, пока я не позволю программе простаивать , обычно 10 минут достаточно, возникает исключение _com_error и происходит сбой:

{program.exe!_com_error::`скалярный удаляющий деструктор '(unsigned int)

Я не знаю, что делать с этой ошибкой, поскольку раньше ее не видел.
При возникновении сбоя указатель ICore выполняет COM-вызов для получения «SetWaitCursor()»

Код: Выделить всё

inline VARIANT_BOOL ICore::SetWaitCursor ( int iWaitCursorOp ) {
VARIANT_BOOL _result = 0;
HRESULT _hr = raw_SetWaitCursor(iWaitCursorOp, &_result);
if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
return _result;
}
При этом
_hr принимает значение «0x80010100: сбой системного вызова».
По какой-то причине я не могу войти в raw_SetWaitCursor, чтобы увидеть поведение либо из-за упрямства Visual Studio, что по какой-то причине случалось раньше, либо из-за того, что она просто не вызывается.

Возможен ли по какой-то причине тайм-аут в 10 минутах от COM/ATL или что-то еще? Кто-нибудь знает, что скалярная ошибка пытается мне сказать, чтобы я мог понять это сам? Может ли это быть как-то связано с резьбой? Если да, то какой может быть пример?
Опять же, изначально код работает так, как ожидалось. Но если пользователь решит отойти на 10 или более минут, я получаю следующее:

0x80010100: Ошибка системного вызова.
{program. exe!_com_error::`скалярный удаляющий деструктор'(unsigned int)


Подробнее здесь: https://stackoverflow.com/questions/781 ... 10-minutes
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «C++»