From 088edcedd822070b6df3599aa87e08bea25a251d Mon Sep 17 00:00:00 2001
From: LAPTOP-SNT8I5JK\Boounion <Chenluhua@qq.com>
Date: 星期六, 21 六月 2025 14:12:40 +0800
Subject: [PATCH] 1.修复CAttributeVector添加子项时类子项被另一个CAttributeVector释放造成内存失效闪退问题;

---
 SourceCode/Bond/Servo/CLoadPort.cpp |   50 +++-----------------------------------------------
 1 files changed, 3 insertions(+), 47 deletions(-)

diff --git a/SourceCode/Bond/Servo/CLoadPort.cpp b/SourceCode/Bond/Servo/CLoadPort.cpp
index cbae095..cee42a2 100644
--- a/SourceCode/Bond/Servo/CLoadPort.cpp
+++ b/SourceCode/Bond/Servo/CLoadPort.cpp
@@ -300,7 +300,7 @@
 			pStep->setName(pszName[m_nIndex]);
 			pStep->setWriteSignalDev(0x128 + m_nIndex);
 			pStep->setDataDev(dev[m_nIndex]);
-			if (addStep(STEP_ID_PROT1_TYPE_AUTO_CHANGE_REPLY + m_nIndex, pStep) != 0) {
+			if (addStep(STEP_ID_PROT1_CASSETTE_TYPE_CHANGE_REPLY + m_nIndex, pStep) != 0) {
 				delete pStep;
 			}
 		}
@@ -346,50 +346,6 @@
 				if (addStep(addr[i][m_nIndex], pStep) != 0) {
 					delete pStep;
 				}
-			}
-		}
-		
-		{
-			// Fetched Out Job Report #1~15
-			char szBuffer[256];
-			CEqReadStep* pStep = new CEqReadStep(0x5c31 + 18 * m_nIndex, 18 * 2,
-				[&](void* pFrom, int code, const char* pszData, size_t size) -> int {
-					if (code == ROK && pszData != nullptr && size > 0) {
-						int port = (int)(__int64)((CEqReadStep*)pFrom)->getProp("Port");
-						if (port > 0) {
-							decodeFetchedOutJobReport((CStep*)pFrom, port, pszData, size);
-						}
-					}
-					return -1;
-				});
-			sprintf_s(szBuffer, "%s%d", STEP_EQ_FETCHED_OUT_JOBn, m_nIndex + 1);
-			pStep->setName(szBuffer);
-			pStep->setProp("Port", (void*)(__int64)(m_nIndex + 1));
-			pStep->setWriteSignalDev(0x023 + m_nIndex);
-			if (addStep(STEP_ID_FETCHED_OUT_JOB_REPORT1 + m_nIndex, pStep) != 0) {
-				delete pStep;
-			}
-		}
-
-		{
-			// Store Job Report #1~15
-			char szBuffer[256];
-			CEqReadStep* pStep = new CEqReadStep(0x5b23 + 18 * m_nIndex, 18 * 2,
-				[&](void* pFrom, int code, const char* pszData, size_t size) -> int {
-					if (code == ROK && pszData != nullptr && size > 0) {
-						int port = (int)(__int64)((CEqReadStep*)pFrom)->getProp("Port");
-						if (port > 0) {
-							decodeStoredJobReport((CStep*)pFrom, port, pszData, size);
-						}
-					}
-					return -1;
-				});
-			sprintf_s(szBuffer, "%s%d", STEP_EQ_STORED_JOBn, m_nIndex + 1);
-			pStep->setName(szBuffer);
-			pStep->setProp("Port", (void*)(__int64)(m_nIndex + 1));
-			pStep->setWriteSignalDev(0x014 + m_nIndex);
-			if (addStep(STEP_ID_STORE_JOB_REPORT1 + m_nIndex, pStep) != 0) {
-				delete pStep;
 			}
 		}
 	}
@@ -1166,9 +1122,9 @@
 
 			CJobDataS js;
 			js.setCassetteSequenceNo(getNextCassetteSequenceNo());
-			js.setJobSequenceNo(i);
+			js.setJobSequenceNo(m_slot[i].getNo());
 			sprintf_s(szBuffer, 64, "%05d%05d", js.getCassetteSequenceNo(), js.getJobSequenceNo());
-			js.setGlass1Id(szBuffer);
+			//js.setGlass1Id(szBuffer);
 			js.setJobType(1);
 			js.setMaterialsType((int)type);
 

--
Gitblit v1.9.3