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