#pragma once #include "SmartPtr.h" #include "WorkCmd.h" #include "WorkCmdContainer.h" #define START_WORK_FILE _T("StartWork") #define CATCH_CCD_FLOW_FILE _T("AutoCatchMark") #define OPEN_VACUUM_FILE _T("VacuumOpen") #define CLOSE_VACUUM_FILE _T("VacuumClose") #define OPEN_AIR_FILE _T("AirOpen") #define CLOSE_AIR_FILE _T("AirClose") #define DEVICE_INI_FILE _T("IniDevice") #define MOVE_TO_ORIGIN_FILE _T("PlatformMoveToOrigin") #define MOVE_TO_PRODUCT_PT_FILE _T("PlatformMoveToProductPt") #define MARK_SEL_FLOW_FILE _T("MarkSel") #define MARK_ALL_FLOW_FILE _T("MarkAll") class CWorkCmdInvoker { public: CWorkCmdInvoker(void); virtual ~CWorkCmdInvoker(void); void ExcuteOneCmd(CWorkCmd *pCmd); void ExcuteCmd(vector &CmdVec); void ExcuteAllCmd(bool bNewThread = true); void ExcuteAllCmdExt(); void Excute(); void Excute(CWorkCmdContainer &CmdContainer); void UpdateInfo(); bool IsCancel(){return m_bCancel;}; private: CString GetFullFilePath(const CString &FileName); void CreatCmd(const CString &FilePath); void CreatCmd(vector &CmdVec); private: bool m_bCancel;//指令执行是否被中断 };