LAPTOP-T815PCOQ\25526
2025-01-09 592c0397bd5bc333b37b0b762b1bfeedae11f770
SourceCode/Bond/BoounionPLC/Model.cpp
@@ -75,10 +75,12 @@
   g_pModel = this;
   // 模拟从文档或数据库加载PLC列表
   addPlc("Test1", "127.0.0.1", 1001);
   addPlc("Test2", "127.0.0.1", 1002);
   // 获取所有PLC信息
   std::vector<PlcInfo> plcList;
   m_configuration.getAllPLCInfo(plcList);
   for (const auto& plc : plcList) {
      addPlc(plc.strName, plc.strIp, plc.nPort);
   }
   return 0;
}
@@ -326,6 +328,11 @@
   pPLC->init();
   m_mapPlc[pszName] = pPLC;
   CString strDir;
   strDir.Format(_T("%s\\PLCs\\%s"), (LPTSTR)(LPCTSTR)m_strWorkDir, (LPTSTR)(LPCTSTR)pszName);
   CToolUnits::createDir(strDir);
   m_configuration.addPLC(pszName, pszIp, port);
   notifyPtr(RX_CODE_ADD_PLC, pPLC);
   return 0;
}
@@ -335,11 +342,15 @@
   auto iter = m_mapPlc.find(pszName);
   if (iter == m_mapPlc.end()) return -1;
   notifyPtr(RX_CODE_REMOVE_PLC, iter->second);
   delete iter->second;
   m_mapPlc.erase(iter);
   CString strDir;
   strDir.Format(_T("%s\\PLCs\\%s"), (LPTSTR)(LPCTSTR)m_strWorkDir, (LPTSTR)(LPCTSTR)pszName);
   CToolUnits::deleteDir(strDir);
   m_configuration.removePLC(pszName);
   m_strCurrPlc = "";
   notifyPtr(RX_CODE_REMOVE_PLC, iter->second);
   //delete iter->second;
   //m_mapPlc.erase(iter);      这个地方需要研究一下
   return 0;
}