From 2070871df480a664c9c4e38bc4e4e324682a64c6 Mon Sep 17 00:00:00 2001
From: mrDarker <mr.darker@163.com>
Date: 星期四, 03 四月 2025 16:12:28 +0800
Subject: [PATCH] 1. 解决 WebView2 控制器创建失败时闪退的问题 2. 解决连接图销毁时保存设备图形数据闪退的问题

---
 SourceCode/Bond/Servo/CBonder.cpp |   83 ++++-------------------------------------
 1 files changed, 8 insertions(+), 75 deletions(-)

diff --git a/SourceCode/Bond/Servo/CBonder.cpp b/SourceCode/Bond/Servo/CBonder.cpp
index 136a15f..1bb185f 100644
--- a/SourceCode/Bond/Servo/CBonder.cpp
+++ b/SourceCode/Bond/Servo/CBonder.cpp
@@ -51,87 +51,20 @@
 	void CBonder::getAttributeVector(CAttributeVector& attrubutes)
 	{
 		__super::getAttributeVector(attrubutes);
-
-		for (auto item : m_inputPins) {
-			attrubutes.addAttribute(new CAttribute(item->getName().c_str(),
-				std::to_string((int)item->getType()).c_str(), ""));
-		}
-
-		for (auto item : m_outputPins) {
-			attrubutes.addAttribute(new CAttribute(item->getName().c_str(),
-				std::to_string((int)item->getType()).c_str(), ""));
-		}
-
-		for (auto item : m_panelList) {
-			attrubutes.addAttribute(new CAttribute("Panel",
-				item->getID().c_str(), ""));
-		}
 	}
 
 	int CBonder::recvIntent(CPin* pPin, CIntent* pIntent)
 	{
-		ASSERT(pPin);
+		return __super::recvIntent(pPin, pIntent);
+	}
 
-		CPin* pFromPin = pPin->getConnectedPin();
-		ASSERT(pFromPin);
-
-		CEquipment* pFromEq = pFromPin->getEquipment();
-		ASSERT(pFromEq);
-
-		LOGI("<CBonder><%s-%s>收到来自<%s.%s>的Intent<%d,%s,0x%x>", 
-			this->getName().c_str(), 
-			pPin->getName().c_str(),
-			pFromEq->getName().c_str(), 
-			pFromPin->getName().c_str(),
-			pIntent->getCode(),
-			pIntent->getMsg(),
-			pIntent->getContext());
-
-
-
-		// 以下解释处理数据
-		int code = pIntent->getCode();
-
-
-		// 测试
-		if (code == FLOW_TEST) {
-			AfxMessageBox(pIntent->getMsg());
-			return FLOW_ACCEPT;
+	BOOL CBonder::glassWillArrive(CGlass* pGlass)
+	{
+		BOOL bRet = __super::glassWillArrive(pGlass);
+		if (!bRet) {
+			return FALSE;
 		}
 
-
-		// 信号
-		if (code == FLOW_SIGNAL) {
-			return FLOW_ACCEPT;
-		}
-
-
-		// 数据
-		if (code == FLOW_SIGNAL) {
-			return FLOW_ACCEPT;
-		}
-
-
-		// 物料
-		if (code == FLOW_MOVE_MATERIAL) {
-			// 如果我这里是空的,可以接受
-			Lock();
-			if (m_panelList.size() < 15) {
-				CPanel* pPanel = (CPanel*)pIntent->getContext();
-				ASSERT(pPanel);
-				pPanel->addRef();
-				m_panelList.push_back(pPanel);
-				Unlock();
-				return FLOW_ACCEPT;
-			}
-			else {
-				Unlock();
-				return FLOW_REJECT;
-			}
-		}
-
-		
-
-		return FLOW_ACCEPT;
+		return m_glassList.empty();
 	}
 }

--
Gitblit v1.9.3