From bea6407b376a4e426f0b120bae569fba6ab867db Mon Sep 17 00:00:00 2001
From: chenluhua1980 <Chenluhua@qq.com>
Date: 星期六, 08 十一月 2025 17:55:47 +0800
Subject: [PATCH] 1.CMaster.cpp 第 1644/1667/1691 行在记录 SV 曲线时通过 getGlassFromSlot(0) 取玻璃,而各设备的 initSlots() 都是从 1 开始编号(例如 CBonder.cpp (line 408)、CVacuumBake.cpp (line 415) 等)。槽位 0 永远不存在,所以 pGlass 始终是 nullptr,pGlass->addSVData(...) 的分支从未执行。结果 SERVO::CGlass::m_svDatas 里没有任何曲线数据,GlassJson::ToPrettyString 生成的 pretty 字符串也就没有 sv_datas,导出 CSV 时自然读不到曲线。 同一段代码还有一个潜在 Bug:虽然判断了 channel - 1 < bonderTypes.size(),但真正索引却用的是 bonderTypes[channel]。索引偏移会导致数据类型错位,最后一个通道甚至可能越界。即使修正了槽位,这里也需要同步改成 bonderTypes[channel - 1](另外两处 vacuumbakeTypes、coolingTypes 也一样)。

---
 SourceCode/Bond/BondEq/BlButton.h |    6 ++++++
 1 files changed, 6 insertions(+), 0 deletions(-)

diff --git a/SourceCode/Bond/BondEq/BlButton.h b/SourceCode/Bond/BondEq/BlButton.h
index 4415a8b..7b9bcea 100644
--- a/SourceCode/Bond/BondEq/BlButton.h
+++ b/SourceCode/Bond/BondEq/BlButton.h
@@ -38,6 +38,7 @@
 	void SetRoundWidth(int width);
 	int GetDrawState();
 	void SetFrameColor(int index, COLORREF color);
+	void SetFrameColor(COLORREF color);
 	void SetBkgndColor(int index, COLORREF color);
 	void SetTextColor(int index, COLORREF color);
 	void SetBkgndBmp(const char* pszBmpFile);
@@ -49,6 +50,9 @@
 	void SetCurrentMenuItem(UINT nPosition);
 	HMENU GetMenu();
 	void SetIcon(HICON hIcon, HICON hIconGray, int width);
+	void Flash(int ms);
+	void StopFlash();
+	BOOL IsFlash();
 
 private:
 	BOOL CustomBitBlt(HDC hDC, LPRECT lprc, CString& strBkgndBmp, int nFrame, int nAllFrame,
@@ -73,6 +77,7 @@
 	HMENU m_hMenu;
 	HICON m_hIcon[2];
 	int m_nIconWidth;
+	int m_nFlashState;		// 闪烁状态,0:不闪;1和2为闪烁切换中
 
 public:
 	virtual void DrawItem(LPDRAWITEMSTRUCT /*lpDrawItemStruct*/);
@@ -84,5 +89,6 @@
 	afx_msg void OnLButtonDown(UINT nFlags, CPoint point);
 	afx_msg BOOL OnBnClicked();
 	afx_msg void OnLButtonUp(UINT nFlags, CPoint point);
+	afx_msg void OnTimer(UINT_PTR nIDEvent);
 };
 

--
Gitblit v1.9.3