From e0648db32b67dd4a3b73d6c1f0f267e1b05574f3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BE=90=E6=B5=B7?= Date: Wed, 8 Apr 2026 15:44:32 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E6=96=AD=E5=BC=80=E8=AE=BE?= =?UTF-8?q?=E5=A4=87?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/MeasureDeviceController.cpp | 18 +++++++++++++++--- src/MeasureDeviceController.h | 1 + 2 files changed, 16 insertions(+), 3 deletions(-) diff --git a/src/MeasureDeviceController.cpp b/src/MeasureDeviceController.cpp index 3840551..789b811 100644 --- a/src/MeasureDeviceController.cpp +++ b/src/MeasureDeviceController.cpp @@ -10,7 +10,7 @@ typedef int* DeviceHandler; static sDeviceList s_device_list; static DeviceHandler GetDeviceHandler(const QString &device_guid) { - DeviceHandler device_handler = DeviceHandler(0x01); + DeviceHandler device_handler = nullptr; for (int i = 0; i < s_device_list.totalNum; i++) { sDeviceInfo di; int ret = GetDeviceInfo(s_device_list.pHandle[i], &di,-1,-1); @@ -56,7 +56,19 @@ void MeasureDeviceController::InitFindMeasureDevice() int ret = FindDeviceAsync(&fdc, onFindDeviceFinishedCallback); if (ret != 1) { - QLOG_ERROR() << QStringLiteral(u"调用测量设备失败:[返回代码%1]").arg(ret); + QLOG_ERROR() << QStringLiteral(u"调用查找测量设备失败:[返回代码%1]").arg(ret); + } +} + +void MeasureDeviceController::DisconnectMeasureDevice(const QString &device_guid) +{ + DeviceHandler device_handler = GetDeviceHandler(device_guid); + if (!device_handler) { + return; + } + int ret = CloseDevice(device_handler); + if (ret != 1) { + QLOG_ERROR() << QStringLiteral(u"断开测量设备失败:[返回代码%1]").arg(ret); } } @@ -240,7 +252,7 @@ QString MeasureDeviceController::GetMeasureGvfDataFilename() return QString(); } QList gvf_file_list = measure_gvf_data_dir.entryList(QDir::Files|QDir::NoSymLinks|QDir::NoDotAndDotDot, QDir::Time); - for (const QString& gvf_filename : gvf_file_list) { + foreach (const QString& gvf_filename , gvf_file_list) { QFileInfo measure_gvf_data_file_info(measure_gvf_data_dir.filePath(gvf_filename)); if (measure_gvf_data_file_info.exists()) { if ( measure_gvf_data_file_info.suffix() != QString("gvf") ) diff --git a/src/MeasureDeviceController.h b/src/MeasureDeviceController.h index 22f386f..6c73672 100644 --- a/src/MeasureDeviceController.h +++ b/src/MeasureDeviceController.h @@ -23,6 +23,7 @@ public: virtual ~MeasureDeviceController(); void InitFindMeasureDevice(); + void DisconnectMeasureDevice(const QString &device_guid); bool SetDeviceMeasureConfigParams(const QString& device_guid, int board_id, int channel_id, const QVariantMap &cfg_params); bool StartMeasure(const QString& device_guid, int board_id, int channel_id); bool StopMeasure(const QString& device_guid, int board_id, int channel_id);