From bdf0dc4cb183d3fec40e1d51b3bb94b7e53d0a55 Mon Sep 17 00:00:00 2001
From: chenluhua1980 <Chenluhua@qq.com>
Date: 星期日, 04 一月 2026 10:45:07 +0800
Subject: [PATCH] 1.修复报文字段差异风险: S1F3:项目用 getSubItemU4(0) 取 SVID;日志里有 U2 的情况,可能导致解析失败后回退成 SV=0。 S6F11:项目发送 DATAID(U4) + CEID(U4);日志样例里第一个字段是 U2,可能存在类型/字段定义不一致。

---
 SourceCode/Bond/Servo/CPageVarialbles.cpp |   12 ++++++++++++
 1 files changed, 12 insertions(+), 0 deletions(-)

diff --git a/SourceCode/Bond/Servo/CPageVarialbles.cpp b/SourceCode/Bond/Servo/CPageVarialbles.cpp
index 07f8123..f2c2587 100644
--- a/SourceCode/Bond/Servo/CPageVarialbles.cpp
+++ b/SourceCode/Bond/Servo/CPageVarialbles.cpp
@@ -162,6 +162,11 @@
 {
 	ASSERT(btnName);
 	if (_strcmpi(btnName, "鏂板") == 0) {
+		int rc = UX_CanExecute(L"addVarialbles");
+		if (rc != 1) {
+			AfxMessageBox("鎿嶄綔鏉冮檺涓嶈冻锛岃鑱旂郴绠$悊浜哄憳锛�");
+			return;
+		}
 		unsigned int newId = theApp.m_model.m_hsmsPassive.getMaxVariableId();
 		int newIdInt = static_cast<int>(newId + 1);
 		CVariableEditDlg2 dlg(_T("鏂板鍙橀噺"), newIdInt, _T("U1"), _T(""), _T(""), this);
@@ -172,6 +177,7 @@
 
 		int ret = theApp.m_model.m_hsmsPassive.addVariable(CT2A(name), CT2A(fmt), CT2A(remark), newIdInt);
 		if (ret == 0) {
+			UX_RecordAction(L"addVarialbles");
 			m_listCtrl.DeleteAllItems();
 			loadVariables();
 		}
@@ -208,6 +214,11 @@
 		auto pVar = reinterpret_cast<SERVO::CVariable*>(m_listCtrl.GetItemData(nItem));
 		if (pVar == nullptr) return;
 
+		int rc = UX_CanExecute(L"editVarialbles");
+		if (rc != 1) {
+			AfxMessageBox("鎿嶄綔鏉冮檺涓嶈冻锛岃鑱旂郴绠$悊浜哄憳锛�");
+			return;
+		}
 		CVariableEditDlg2 dlg(_T("缂栬緫鍙橀噺"),
 			pVar->getVarialbleId(),
 			CString(CA2T(SERVO::CVariable::formatToString(pVar->getFormat()).c_str())),
@@ -221,6 +232,7 @@
 
 		int ret = theApp.m_model.m_hsmsPassive.updateVariable(pVar->getVarialbleId(), CT2A(name), CT2A(fmt), CT2A(remark));
 		if (ret == 0) {
+			UX_RecordAction(L"editVarialbles");
 			m_listCtrl.DeleteAllItems();
 			loadVariables();
 		}

--
Gitblit v1.9.3