فهرست منبع

恢复代码,添加互斥体

JonYang 2 روز پیش
والد
کامیت
c426b867d5
2فایلهای تغییر یافته به همراه38 افزوده شده و 13 حذف شده
  1. 11 10
      View/die-bonder-ui/Src/RewriteControl/ControlOperationPage.cpp
  2. 27 3
      View/die-bonder-ui/main.cpp

+ 11 - 10
View/die-bonder-ui/Src/RewriteControl/ControlOperationPage.cpp

@@ -365,8 +365,8 @@ void ControlOperationPage::on_moduleTypeComboBox_currentIndexChanged(int index)
             ui->axisTypeComboBox->addItem(a->GetStringAxisType().c_str());
         }
     }
-
     m_isAdd = false;
+
     UpdataModuleType(strMod, 1);
 }
 
@@ -549,15 +549,16 @@ void ControlOperationPage::LockMouse(bool islockMouse)
 
 void ControlOperationPage::UpdataModuleType(const QString& strMode, int nIndex)
 {
-    if (nIndex == 1)
-    {
-        m_currentSelectRunAxis.ModuleType = strMode.toStdString();
-    }
-    else if (nIndex == 2)
-    {
-        m_currentSelectRunAxis.AxisType = strMode.toStdString();
-    }
-    
+    //if (nIndex == 1)
+    //{
+    //    m_currentSelectRunAxis.ModuleType = strMode.toStdString();
+    //}
+    //else if (nIndex == 2)
+    //{
+    //    m_currentSelectRunAxis.AxisType = strMode.toStdString();
+    //}
+    m_currentSelectRunAxis.ModuleType = ui->moduleTypeComboBox->currentText().toStdString();
+    m_currentSelectRunAxis.AxisType = ui->axisTypeComboBox->currentText().toStdString();
 
     if (m_isAdd == false)
     {

+ 27 - 3
View/die-bonder-ui/main.cpp

@@ -8,12 +8,36 @@
 //          主函数必须清爽
 // *****************************************************************************
 #include <QApplication>
+#include <QSharedMemory>
+#include <QMessageBox>
 #include "MainWnd.h"
+#include "Src/common/JMessageTip.h"
 
 int main(int argc, char *argv[])
 {
     QApplication a(argc, argv);
-    MainWnd w;
-    w.show();
-    return a.exec();
+
+    QSharedMemory sharedMem("SBTBonder");
+    if (sharedMem.attach()) 
+    {
+        JMessageTip::Message_question(QObject::tr("Program already running", "程序已在运行!"));
+        return 0;
+    }
+
+    if (sharedMem.create(1)) 
+    {
+        MainWnd w;
+        w.show();
+
+        QObject::connect(&a, &QApplication::aboutToQuit, [&]()
+         {
+             sharedMem.detach();
+         });
+
+        return a.exec();
+    }
+
+    JMessageTip::Message_question(QObject::tr("Unable to share", "无法共享!"));
+    
+    return -1;
 }