解决设备断开,点击扫描,状态栏未更新且可以点击扫描的问题;BUG-810

This commit is contained in:
yangjiaxuan 2023-12-04 15:27:29 +08:00
parent 801b302e58
commit 6c900e451c
2 changed files with 26 additions and 1 deletions

View File

@ -3400,8 +3400,28 @@ void MainWindow::on_act_acquire_triggered()
HGResult ret = HGBASE_ERR_FAIL;
if (nullptr != m_devUser)
{
bool deviceIsOnline = true;
ret = m_devUser->StartScan();
if (HGBASE_ERR_OK != ret)
#if defined(HG_CMP_MSC)
if (HGTWAIN_ERR_DEVICEOFFLINE == ret)
{
deviceIsOnline = false;
}
#else
if (HGSANE_ERR_DEVICEOFFLINE == ret)
{
deviceIsOnline = false;
}
#endif
if (!deviceIsOnline)
{
deleteDevUser();
}
if (HGBASE_ERR_OK != ret && deviceIsOnline)
{
on_scanFinishEvent();
}

View File

@ -640,6 +640,11 @@ HGResult HGTwainDSImpl::Enable(HGBool showUI, HWND parent, HGDSEventFunc eventFu
USHORT ret = m_dsmImpl->m_pDSMProc(&m_dsmImpl->m_AppId, &m_iden, DG_CONTROL, DAT_USERINTERFACE, MSG_ENABLEDS, (TW_MEMREF)&twUI);
if (TWRC_SUCCESS != ret)
{
TW_STATUS status;
m_dsmImpl->m_pDSMProc(&m_dsmImpl->m_AppId, &m_iden, DG_CONTROL, DAT_STATUS, MSG_GET, (TW_MEMREF)&status);
if (status.ConditionCode == TWCC_CHECKDEVICEONLINE)
return HGTWAIN_ERR_DEVICEOFFLINE;
return HGTWAIN_ERR_FAIL;
}