From d3a3560afaa9c00ef6157ad57ac35843fabc230a Mon Sep 17 00:00:00 2001 From: 13038267101 Date: Thu, 15 Dec 2022 20:16:43 +0800 Subject: [PATCH] =?UTF-8?q?=E5=9B=9E=E8=B0=83=E5=87=BD=E6=95=B0=E8=B0=83?= =?UTF-8?q?=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/HGProductionTool/hgscanner.h | 4 ++-- app/HGProductionTool/mainwindow.cpp | 29 +++++++++++++++++------------ app/HGProductionTool/mainwindow.h | 8 +++++--- db/HGPdtToolDb/HGPdtToolDb.vcxproj | 4 ++-- 4 files changed, 26 insertions(+), 19 deletions(-) diff --git a/app/HGProductionTool/hgscanner.h b/app/HGProductionTool/hgscanner.h index f206cb7..0805024 100644 --- a/app/HGProductionTool/hgscanner.h +++ b/app/HGProductionTool/hgscanner.h @@ -2,6 +2,7 @@ #include "sane/sane_ex.h" #include "ui_helper.h" #include "test_base.h" + class hgscanner :public ui_helper { public: @@ -12,8 +13,7 @@ public: virtual int register_sane_callback(sane_callback cb, void* param); virtual int unregister_sane_callback(sane_callback cb); virtual int io_control(unsigned long code, void* data, unsigned* len); - static int sane_ex_callback(SANE_Handle hdev, int code, void* data, unsigned int* len, void* param); - sane_callback cb_; + sane_callback cb_; private: SANE_Handle devHandle_; diff --git a/app/HGProductionTool/mainwindow.cpp b/app/HGProductionTool/mainwindow.cpp index a32329b..dbf9f3f 100644 --- a/app/HGProductionTool/mainwindow.cpp +++ b/app/HGProductionTool/mainwindow.cpp @@ -7,7 +7,6 @@ #include "dialog_changepwd.h" #include "dialog_accountmanage.h" #include "dialog_uploadcfgfile.h" -#include "hgscanner.h" MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent) @@ -60,6 +59,7 @@ void MainWindow::Init() SANE_Int v = 0; sane_init_ex(&v, sane_ex_callback, this); + Sleep(500); } void MainWindow::Deinit() @@ -94,7 +94,7 @@ int MainWindow::sane_ex_callback(SANE_Handle hdev, int code, void *data, unsigne { (void)hdev; (void)len; - MainWindow *p = (MainWindow *)param; + MainWindow* p = (MainWindow*)param; switch (code) { case SANE_EVENT_DEVICE_ARRIVED: @@ -111,6 +111,11 @@ int MainWindow::sane_ex_callback(SANE_Handle hdev, int code, void *data, unsigne break; } + if (!hdev) + { + return -1; + } + p->hg->cb_(hdev, code, data, len, NULL); return 0; } @@ -135,12 +140,12 @@ std::vector MainWindow::getDevices() void MainWindow::on_sane_dev_arrive(QString devName) { -// SANE_Status ret = sane_open(devName.toStdString().c_str(), &m_handle); + SANE_Status ret = sane_open(devName.toStdString().c_str(), &m_handle); -// ui_helper* helper; -// hgscanner* hg = new hgscanner(m_handle); -// helper = dynamic_cast(hg); -// func_test_go(L"test-31", L"null", helper); + ui_helper* helper; + this->hg = new hgscanner(m_handle); + helper = dynamic_cast(this->hg); + func_test_go(L"test-31", L"null", helper); } void MainWindow::on_sane_dev_remove(QString devName) @@ -269,8 +274,8 @@ QString MainWindow::getLogInfo(HGResult ret) return str; } -void MainWindow::on_act_upload_triggered() -{ - Dialog_uploadCfgFile dlg(m_pdtToolDbuserMgr, this); - dlg.exec(); -} +//void MainWindow::on_act_upload_triggered() +//{ +// Dialog_uploadCfgFile dlg(m_pdtToolDbuserMgr, this); +// dlg.exec(); +//} diff --git a/app/HGProductionTool/mainwindow.h b/app/HGProductionTool/mainwindow.h index d944e19..4388fb5 100644 --- a/app/HGProductionTool/mainwindow.h +++ b/app/HGProductionTool/mainwindow.h @@ -7,6 +7,8 @@ #include #include "HGPdtToolDb.h" #include "sane/sane_ex.h" +#include "hgscanner.h" + QT_BEGIN_NAMESPACE namespace Ui { class MainWindow; } QT_END_NAMESPACE @@ -20,13 +22,13 @@ class MainWindow : public QMainWindow public: MainWindow(QWidget *parent = nullptr); ~MainWindow(); - + hgscanner* hg; void Init(); void Deinit(); static QString getLogInfo(HGResult ret); bool isExitApp(); - + private: static void HGAPI PdtToolDbUserEventFunc(HGPdtToolDbUserMgr userMgr, HGUInt event, HGPointer param); static int sane_ex_callback(SANE_Handle hdev, int code, void* data, unsigned int* len, void* param); @@ -56,7 +58,7 @@ private slots: void on_act_close_triggered(); - void on_act_upload_triggered(); + /* void on_act_upload_triggered();*/ private: QSplitter *m_top_splitter; diff --git a/db/HGPdtToolDb/HGPdtToolDb.vcxproj b/db/HGPdtToolDb/HGPdtToolDb.vcxproj index b7a144f..8365ec9 100644 --- a/db/HGPdtToolDb/HGPdtToolDb.vcxproj +++ b/db/HGPdtToolDb/HGPdtToolDb.vcxproj @@ -151,13 +151,13 @@ NotUsing pch.h MultiThreadedDebug - ../include/x64;../../../sdk/include;%(AdditionalIncludeDirectories) + ../include/x64;../../../sdk/include;C:\Users\modehua\Desktop\sane\code_app\build\windows\x64\Debug;%(AdditionalIncludeDirectories) Windows true false - ../lib/x64;../../../sdk/lib/win/x64/Release;%(AdditionalLibraryDirectories) + ../lib/x64;../../../sdk/lib/win/x64/Release;C:\Users\modehua\Desktop\sane\code_production\db\HGPdtToolDb\x64\Debug;C:\Users\modehua\Desktop\sane\code_app\build\windows\x64\Debug;%(AdditionalLibraryDirectories) libmysql.lib;HGBase.lib;%(AdditionalDependencies) HGPdtToolDb.def