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/CStep.h | 33 ++++++++++++++++-----------------
1 files changed, 16 insertions(+), 17 deletions(-)
diff --git a/SourceCode/Bond/Servo/CStep.h b/SourceCode/Bond/Servo/CStep.h
index 052d4e4..aae469e 100644
--- a/SourceCode/Bond/Servo/CStep.h
+++ b/SourceCode/Bond/Servo/CStep.h
@@ -1,8 +1,14 @@
#pragma once
#include "CCLinkIEControl.h"
+#include "CAttributeVector.h"
+#include "ToolUnits.h"
namespace SERVO {
+#define STEP_EVENT_READDATA 0x01
+#define STEP_EVENT_COMPLETE 0x02
+
+ class CEquipment;
class CStep
{
public:
@@ -10,34 +16,27 @@
virtual ~CStep();
public:
- unsigned WorkingProc();
void setCcLink(CCCLinkIEControl* pCcLink);
- virtual void setWriteSignalDev(int dev);
+ void setEquipment(CEquipment* pEquipment);
+ CEquipment* getEquipment();
+ void setName(const char* pszName);
+ std::string& getName();
+ virtual void getAttributeVector(CAttributeVector& attrubutes);
virtual void init();
- virtual void CStep::term();
- virtual void onSignal(BOOL bSignal);
- virtual int onReadData();
- virtual int onComplete();
- virtual int onTimeout();
+ virtual void term();
+
protected:
inline void Lock() { EnterCriticalSection(&m_criticalSection); }
inline void Unlock() { LeaveCriticalSection(&m_criticalSection); }
- inline void nextStep();
- inline void resetStep();
+ void convertString(const char* pszBuffer, int size, std::string& strOut);
protected:
StationIdentifier m_station;
+ std::string m_strName;
+ CEquipment* m_pEquipment;
CCCLinkIEControl* m_pCclink;
CRITICAL_SECTION m_criticalSection;
- std::string strName;
- HANDLE m_hWorkThreadHandle;
- unsigned m_nWordThreadAddr;
- HANDLE m_hWorkStop;
- HANDLE m_hSignalOn;
- HANDLE m_hSignalOff;
- int m_nCurStep;
- int m_nWriteSignalDev; // 对方BIT地址
};
}
--
Gitblit v1.9.3