From 1c080b5ca821ef6e1d40025289195b18fa2973b5 Mon Sep 17 00:00:00 2001 From: chenluhua1980 <Chenluhua@qq.com> Date: 星期一, 26 一月 2026 22:46:48 +0800 Subject: [PATCH] 1.把 m_bufGlass 的释放提前到 CMaster::term(),确保在 m_glassPool.term() 之前完成,避免析构时再触碰已被回收的 Glass。析构里仍保留原逻辑,若 term() 已清空则不会重复释放。 --- SourceCode/Bond/Servo/CCLinkPerformance/PerformanceMelsec.h | 6 ++++++ 1 files changed, 6 insertions(+), 0 deletions(-) diff --git a/SourceCode/Bond/Servo/CCLinkPerformance/PerformanceMelsec.h b/SourceCode/Bond/Servo/CCLinkPerformance/PerformanceMelsec.h index 84b7a9d..baf4908 100644 --- a/SourceCode/Bond/Servo/CCLinkPerformance/PerformanceMelsec.h +++ b/SourceCode/Bond/Servo/CCLinkPerformance/PerformanceMelsec.h @@ -388,7 +388,13 @@ // 扩展读写数据 long ReadDataEx(const StationIdentifier& station, long nDevType, long nDevNo, long nSize, std::vector<char>& vecData); + long ReadBitDataEx(const StationIdentifier& station, DeviceType enDevType, long nDevNo, long nBitCount, BitContainer& vecData); + long ReadWordDataEx(const StationIdentifier& station, DeviceType enDevType, long nDevNo, long nWordCount, WordContainer& vecData); + long ReadDWordDataEx(const StationIdentifier& station, DeviceType enDevType, long nDevNo, long nDWordCount, DWordContainer& vecData); long WriteDataEx(const StationIdentifier& station, long nDevType, long nDevNo, const std::vector<char>& vecData); + long WriteBitDataEx(const StationIdentifier& station, DeviceType enDevType, long nDevNo, const BitContainer& vecData); + long WriteWordDataEx(const StationIdentifier& station, DeviceType enDevType, long nDevNo, const WordContainer& vecData); + long WriteDWordDataEx(const StationIdentifier& station, DeviceType enDevType, long nDevNo, const DWordContainer& vecData); // 扩展软元件随机读写(支持多个软元件) long ReadRandomDataEx(const StationIdentifier& station, const std::vector<SoftElement>& vecSoftElements, std::vector<char>& vecData); -- Gitblit v1.9.3