// SynOperator.cpp: implementation of the CSynOperator class. // ////////////////////////////////////////////////////////////////////// #include "geomative.h" #include "SynOperator.h" #include "opsyndlg.h" #ifdef _DEBUG #undef THIS_FILE static char THIS_FILE[]=__FILE__; #define new DEBUG_NEW #endif extern CGeoMativeApp theApp; ////////////////////////////////////////////////////////////////////// // Construction/Destruction ////////////////////////////////////////////////////////////////////// CSynOperator::CSynOperator(_ConnectionPtr& pConnection) { ASSERT(NULL != pConnection); m_pConnection = pConnection; } CSynOperator::~CSynOperator() { } void CSynOperator::Syn() { long lRet = VAL_ZERO; COpSynDlg* pOpSynDlg = new COpSynDlg(m_pConnection); pOpSynDlg->Create(IDD_OP_TDH_S_C, AfxGetMainWnd()); InitialSynDlg(pOpSynDlg); pOpSynDlg->InitialDevShow(); pOpSynDlg->ShowWindow(SW_SHOW); lRet = pOpSynDlg->RunModalLoop(MLF_SHOWONIDLE); // 开始非模态窗口模态循环 if (RET_OK == lRet) { NULL; } pOpSynDlg->DestroyWindow(); delete pOpSynDlg; } void CSynOperator::InitialSynDlg(COpSynDlg *pOpSynDlg) { int iIndex = (int)VAL_ZERO; CPtrArray olDevList; CDevice* pDev = NULL; olDevList.RemoveAll(); theApp.m_pDevManager->GetOLDevList(&olDevList); iIndex = (int)VAL_ZERO; while (iIndex < olDevList.GetSize()) { pDev = NULL; pDev = (CDevice*)olDevList.GetAt(iIndex); if (PZ_STATE_NEW != pDev->m_uState) { pOpSynDlg->m_cbDESN.AddString(pDev->m_szDevSN); pOpSynDlg->m_cbDESN.SetItemDataPtr(pOpSynDlg->m_cbDESN.GetCount() - 1, pDev); } iIndex++; } }