国产系统增加进程占用提示
This commit is contained in:
parent
57a2b30755
commit
5440f484be
|
@ -260,7 +260,14 @@ HGResult DeviceUser::Open()
|
|||
}
|
||||
else
|
||||
{
|
||||
return HGSane_OpenSelectedDevice(m_source, m_wnd, &m_saneDev);
|
||||
HGChar errInfo[256];
|
||||
HGResult ret = HGSane_OpenSelectedDevice(m_source, m_wnd, &m_saneDev, errInfo, 256);
|
||||
if (HGBASE_ERR_OK != ret)
|
||||
{
|
||||
QMessageBox::information(m_wnd, tr("Prompt"), errInfo);
|
||||
}
|
||||
|
||||
return ret;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -281,7 +288,13 @@ HGResult DeviceUser::OpenDefault()
|
|||
else
|
||||
{
|
||||
HGChar errInfo[256];
|
||||
return HGSane_OpenDevice(m_source, 0, &m_saneDev, errInfo, 256);
|
||||
HGResult ret = HGSane_OpenDevice(m_source, 0, &m_saneDev, errInfo, 256);
|
||||
if (HGBASE_ERR_OK != ret)
|
||||
{
|
||||
QMessageBox::information(m_wnd, tr("Prompt"), errInfo);
|
||||
}
|
||||
|
||||
return ret;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -180,7 +180,7 @@ HGResult HGAPI HGSane_OpenDevice(HGSaneSource source, HGUInt index, HGSaneDevice
|
|||
return HGBASE_ERR_OK;
|
||||
}
|
||||
|
||||
HGResult HGAPI HGSane_OpenSelectedDevice(HGSaneSource source, HGWindow parent, HGSaneDevice* dev)
|
||||
HGResult HGAPI HGSane_OpenSelectedDevice(HGSaneSource source, HGWindow parent, HGSaneDevice* dev, HGChar* errInfo, HGUInt errInfoLen)
|
||||
{
|
||||
if (NULL == source)
|
||||
{
|
||||
|
@ -189,7 +189,7 @@ HGResult HGAPI HGSane_OpenSelectedDevice(HGSaneSource source, HGWindow parent, H
|
|||
|
||||
HGSaneSourceImpl* saneSourceImpl = (HGSaneSourceImpl*)source;
|
||||
class HGSaneDeviceImpl* saneDeviceImpl = NULL;
|
||||
HGResult ret = saneSourceImpl->OpenSelectedDevice(parent, &saneDeviceImpl);
|
||||
HGResult ret = saneSourceImpl->OpenSelectedDevice(parent, &saneDeviceImpl, errInfo, errInfoLen);
|
||||
if (HGBASE_ERR_OK != ret)
|
||||
{
|
||||
return ret;
|
||||
|
|
|
@ -71,7 +71,7 @@ HGEXPORT HGResult HGAPI HGSane_GetDeviceNameWithIndex(HGSaneSource source, HGUIn
|
|||
|
||||
HGEXPORT HGResult HGAPI HGSane_OpenDevice(HGSaneSource source, HGUInt index, HGSaneDevice *dev, HGChar *errInfo, HGUInt errInfoLen);
|
||||
|
||||
HGEXPORT HGResult HGAPI HGSane_OpenSelectedDevice(HGSaneSource source, HGWindow parent, HGSaneDevice* dev);
|
||||
HGEXPORT HGResult HGAPI HGSane_OpenSelectedDevice(HGSaneSource source, HGWindow parent, HGSaneDevice* dev, HGChar* errInfo, HGUInt errInfoLen);
|
||||
|
||||
HGEXPORT HGResult HGAPI HGSane_CloseDevice(HGSaneDevice dev);
|
||||
|
||||
|
|
|
@ -507,7 +507,7 @@ HGResult HGSaneSourceImpl::OpenDevice(HGUInt index, HGSaneDeviceImpl** deviceImp
|
|||
return HGBASE_ERR_OK;
|
||||
}
|
||||
|
||||
HGResult HGSaneSourceImpl::OpenSelectedDevice(HGWindow parent, class HGSaneDeviceImpl** deviceImpl)
|
||||
HGResult HGSaneSourceImpl::OpenSelectedDevice(HGWindow parent, class HGSaneDeviceImpl** deviceImpl, HGChar* errInfo, HGUInt errInfoLen)
|
||||
{
|
||||
if (NULL == deviceImpl)
|
||||
{
|
||||
|
@ -524,7 +524,22 @@ HGResult HGSaneSourceImpl::OpenSelectedDevice(HGWindow parent, class HGSaneDevic
|
|||
GetDeviceName(i, name, 256);
|
||||
|
||||
SANE_Handle handle = NULL;
|
||||
m_saneApi.sane_open_api(name, &handle);
|
||||
SANE_Status stat = m_saneApi.sane_open_api(name, &handle);
|
||||
if (SANE_STATUS_GOOD != stat)
|
||||
{
|
||||
if (NULL != errInfo)
|
||||
{
|
||||
const char* err = m_saneApi.sane_strstatus_api(stat);
|
||||
if (NULL != err && errInfoLen >= strlen(err) + 1)
|
||||
{
|
||||
strcpy(errInfo, err);
|
||||
}
|
||||
}
|
||||
|
||||
if (1 == count)
|
||||
return HGBASE_ERR_FAIL;
|
||||
}
|
||||
|
||||
if (NULL != handle)
|
||||
{
|
||||
HGChar sn[256] = {0};
|
||||
|
@ -553,7 +568,18 @@ HGResult HGSaneSourceImpl::OpenSelectedDevice(HGWindow parent, class HGSaneDevic
|
|||
if (devs[i].id == id)
|
||||
{
|
||||
strcpy(devName, devs[i].name.c_str());
|
||||
m_saneApi.sane_open_api(devs[i].name.c_str(), &handle);
|
||||
SANE_Status stat = m_saneApi.sane_open_api(devs[i].name.c_str(), &handle);
|
||||
if (SANE_STATUS_GOOD != stat)
|
||||
{
|
||||
if (NULL != errInfo)
|
||||
{
|
||||
const char* err = m_saneApi.sane_strstatus_api(stat);
|
||||
if (NULL != err && errInfoLen >= strlen(err) + 1)
|
||||
{
|
||||
strcpy(errInfo, err);
|
||||
}
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -51,7 +51,7 @@ public:
|
|||
HGResult GetDeviceCount(HGUInt *count);
|
||||
HGResult GetDeviceName(HGUInt index, HGChar* name, HGUInt maxLen);
|
||||
HGResult OpenDevice(HGUInt index, class HGSaneDeviceImpl **deviceImpl, HGChar* errInfo, HGUInt errInfoLen);
|
||||
HGResult OpenSelectedDevice(HGWindow parent, class HGSaneDeviceImpl** deviceImpl);
|
||||
HGResult OpenSelectedDevice(HGWindow parent, class HGSaneDeviceImpl** deviceImpl, HGChar* errInfo, HGUInt errInfoLen);
|
||||
|
||||
private:
|
||||
static HGResult FindFunctions(HGDll dll, const HGChar* saneManu, SANEAPI *saneAPI);
|
||||
|
|
Loading…
Reference in New Issue