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/BoounionPLC/BoounionPLC.cpp | 8 ++++++++
1 files changed, 8 insertions(+), 0 deletions(-)
diff --git a/SourceCode/Bond/BoounionPLC/BoounionPLC.cpp b/SourceCode/Bond/BoounionPLC/BoounionPLC.cpp
index 3f49216..1ceaee6 100644
--- a/SourceCode/Bond/BoounionPLC/BoounionPLC.cpp
+++ b/SourceCode/Bond/BoounionPLC/BoounionPLC.cpp
@@ -136,6 +136,11 @@
m_model.setWorkDir((LPTSTR)(LPCTSTR)m_strAppDir);
+ // gdi+
+ Gdiplus::GdiplusStartupInput gdiplusStartupInput;
+ Gdiplus::GdiplusStartup(&m_gdiplusToken, &gdiplusStartupInput, NULL);
+
+
CString strIniFile;
strIniFile.Format(_T("%s\\BoounionPLCconfiguration.ini"), (LPTSTR)(LPCTSTR)m_strAppDir);
int plcTimeout = GetPrivateProfileInt("PLC", "Timeout", 700, strIniFile);
@@ -192,6 +197,9 @@
int CBoounionPLCApp::ExitInstance()
{
+ // gdi+
+ Gdiplus::GdiplusShutdown(m_gdiplusToken);
+
m_model.term();
RX_Term();
MCL_Term();
--
Gitblit v1.9.3