81 lines
1.6 KiB
C++
81 lines
1.6 KiB
C++
// 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++;
|
|
}
|
|
}
|