#if !defined(AFX_DIALTIMERTASKMEASU_H__578D9795_E7FA_4503_A2C1_3C1D8050851C__INCLUDED_) #define AFX_DIALTIMERTASKMEASU_H__578D9795_E7FA_4503_A2C1_3C1D8050851C__INCLUDED_ #if _MSC_VER > 1000 #pragma once #endif // _MSC_VER > 1000 // DialTimerTaskMeasu.h : header file // #include "TaskDataOper.h" ///////////////////////////////////////////////////////////////////////////// // CDialTimerTaskMeasu dialog class CDialTimerTaskMeasu : public CDialog { // Construction public: CDialTimerTaskMeasu(CWnd* pParent = NULL); // standard constructor static void NotifyResFunc(LPARAM lOperType, LPARAM lOperRes, LPVOID lpWnd); void SetDevID(UINT32 uiDevID){m_uiDevID = uiDevID;} // Dialog Data //{{AFX_DATA(CDialTimerTaskMeasu) enum { IDD = IDD_DIALOG_TIMER_MEASU }; CListCtrl m_listMeasuData; //}}AFX_DATA // Overrides // ClassWizard generated virtual function overrides //{{AFX_VIRTUAL(CDialTimerTaskMeasu) protected: virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support //}}AFX_VIRTUAL // Implementation protected: // Generated message map functions //{{AFX_MSG(CDialTimerTaskMeasu) afx_msg void OnButtonTimerMeasu(); afx_msg void OnButtonMrasuSuspend(); virtual BOOL OnInitDialog(); virtual void OnCancel(); afx_msg void OnButtonTimerCfg(); //}}AFX_MSG DECLARE_MESSAGE_MAP() protected: int GetNeedMeasuData(char* pData,int &iLen, int iMaxLen); void ThreadJoin(); void StopMeasuDataInfo(bool bIsNormalExit=true); void ClearRecvBuffer(); bool StartTimerTask(const STTimerTask* pTimerTask); bool ProcRcvMeasuData(); bool GetCfgTaskData(DWORD dwTdID,char* pData, int& iLen, int iMaxLen); bool GetRollCallData(char* pData, int& iLen, int iMaxLen); bool OperPLC(BYTE ucCmd, CString strPlcID, bool bIsShowErrSyn=true); void SetBtnStatus(BYTE ucStatus); static UINT StartMeasuData(LPVOID pInfo); int CompareTdTimer(const SYSTEMTIME &curTime, CString strTdTimer); protected: bool m_bIsSigMeasuring; CTaskDataOper m_TaskdDBOper; int m_iRepeatSndCnt; std::vector m_vtMeasureData; bool m_bIsRunning; CWinThread* m_pThread; bool m_bIsThreadFinshed; bool m_bIsOpenTbData; BYTE m_ucCmd; BYTE m_ucProcStep; BYTE m_ucData[MAX_RECV_MEASURE]; //接收数据缓冲区 int m_iRecvDataLen; bool m_bIsSuspend; UINT32 m_uiDevID; STQueryTaskBasicInfo m_stQueryTdInfo; // bool m_bIsThreadFinshed; }; //{{AFX_INSERT_LOCATION}} // Microsoft Visual C++ will insert additional declarations immediately before the previous line. #endif // !defined(AFX_DIALTIMERTASKMEASU_H__578D9795_E7FA_4503_A2C1_3C1D8050851C__INCLUDED_)