479 lines
15 KiB
C++
479 lines
15 KiB
C++
// TaskProgressDlg.cpp : implementation file
|
|
//
|
|
|
|
#include "stdafx.h"
|
|
#include "GeoMative.h"
|
|
#include "DownloadDataProgressDlg.h"
|
|
#include "Lock\AutoLock.h"
|
|
#include "FileOperTools.h"
|
|
|
|
#ifdef _DEBUG
|
|
#define new DEBUG_NEW
|
|
#undef THIS_FILE
|
|
static char THIS_FILE[] = __FILE__;
|
|
#endif
|
|
|
|
extern int g_iUILanguage;
|
|
extern CGeoMativeApp theApp;
|
|
extern float tcp_ntohf(float f);
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
// CDownloadDataProgressDlg dialog
|
|
|
|
CDownloadDataProgressDlg::CDownloadDataProgressDlg(std::vector<STTaskListItem> *pvtDownloadTaskItem, CTaskDataOper* pTaskOper, CWnd* pParent)
|
|
: CDialog(CDownloadDataProgressDlg::IDD, pParent)
|
|
{
|
|
m_pvtDownloadTaskItem = pvtDownloadTaskItem;
|
|
m_pTaskOper = pTaskOper;
|
|
m_bRecvOrSend = 0;
|
|
//InitializeCriticalSection(&m_cs);
|
|
}
|
|
|
|
CDownloadDataProgressDlg::CDownloadDataProgressDlg(STRemTaskArg* stTaskArg, CTaskDataOper* pTaskOper, CWnd* pParent) : CDialog(CDownloadDataProgressDlg::IDD, pParent)
|
|
{
|
|
m_stTaskArg = stTaskArg;
|
|
m_pTaskOper = pTaskOper;
|
|
m_pParent = pParent;
|
|
m_bRecvOrSend = 1;
|
|
//InitializeCriticalSection(&m_cs);
|
|
}
|
|
|
|
CDownloadDataProgressDlg::~CDownloadDataProgressDlg()
|
|
{
|
|
//DeleteCriticalSection(&m_cs);
|
|
}
|
|
|
|
BEGIN_MESSAGE_MAP(CDownloadDataProgressDlg, CDialog)
|
|
//{{AFX_MSG_MAP(CDownloadDataProgressDlg)
|
|
|
|
//}}AFX_MSG_MAP
|
|
END_MESSAGE_MAP()
|
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
// CDownloadDataProgressDlg message handlers
|
|
|
|
BOOL CDownloadDataProgressDlg::OnInitDialog()
|
|
{
|
|
CDialog::OnInitDialog();
|
|
|
|
// TODO: Add extra initialization here
|
|
if (LANG_ZHCN == g_iUILanguage)
|
|
{
|
|
if (0 == m_bRecvOrSend)//下载数据
|
|
{
|
|
GetDlgItem(IDC_STATIC_SHOW_TIP)->SetWindowText(_T(" 正在下载数据, 请等待并且不要操作程序....."));
|
|
}
|
|
else
|
|
{
|
|
GetDlgItem(IDC_STATIC_SHOW_TIP)->SetWindowText(_T(" 正在上传文件, 请等待并且不要操作程序....."));
|
|
}
|
|
}
|
|
|
|
if (0 == m_bRecvOrSend)//下载数据
|
|
{
|
|
AfxBeginThread(DownloadThread, this);
|
|
}
|
|
else
|
|
{
|
|
AfxBeginThread(UploadThread, this);
|
|
}
|
|
|
|
return TRUE; // return TRUE unless you set the focus to a control
|
|
// EXCEPTION: OCX Property Pages should return FALSE
|
|
}
|
|
|
|
#define MAX_DOWNLOAD_POINT_NUM (50)
|
|
#define CALL_PROCESS_POINS_NUM (5)
|
|
void CDownloadDataProgressDlg::ShowProcessPercent(int iCurPos, int iTotalSize)
|
|
{
|
|
int iStep = (iCurPos + 1) / (iTotalSize * CALL_PROCESS_POINS_NUM * 1.0) * 100;
|
|
CString strTemp;
|
|
strTemp.Format("%d", iStep);
|
|
if (iStep > 100)
|
|
{
|
|
iStep = 100;
|
|
}
|
|
strTemp += "%";
|
|
GetDlgItem(IDC_TASK_PERCENT)->SetWindowTextA(strTemp);
|
|
Sleep(500);
|
|
}
|
|
|
|
//增加勾选单个任务下载进度
|
|
UINT CDownloadDataProgressDlg::DownloadThread(LPVOID pParam)
|
|
{
|
|
CDownloadDataProgressDlg* pThis = (CDownloadDataProgressDlg*)pParam;
|
|
if (NULL == pThis)
|
|
{
|
|
pThis->SendMessage(WM_CLOSE, 0, 0);
|
|
return 0;
|
|
}
|
|
|
|
int iTaskCount = pThis->m_pvtDownloadTaskItem->size();
|
|
if (iTaskCount <= 0)
|
|
{
|
|
pThis->SendMessage(WM_CLOSE, 0, 0);
|
|
return 0;
|
|
}
|
|
|
|
int iRet = 0;
|
|
int iStep = 0;
|
|
int iPosIndex = 0;
|
|
CString strTemp;
|
|
STTaskListItem *pstTaskInfo = NULL;
|
|
STRemTaskTable *pstTaskTable = NULL;
|
|
STRemTaskArg stTaskArg;
|
|
DWORD dwTdID;
|
|
char *pRg = NULL,*pElecInfo = NULL;
|
|
BOOL bTaskExistFlg,bElecInfoExist;
|
|
DWORD dwTotalElec;
|
|
STQueryTaskBasicInfo stTaskBasicInfo;
|
|
char *pData = NULL;
|
|
int i = 1;
|
|
UINT32 uiStartPoint = 1;
|
|
UINT32 uiEndPoint;
|
|
int iSendCount;
|
|
UINT32 iTotalPoint;
|
|
STTaskDataRes *ptTaskData = NULL;
|
|
STMeasuDataResBasic stMeasuBasicData;
|
|
STTaskDataRes stTaskDataRes;
|
|
int j;
|
|
|
|
CString szDevSN;
|
|
szDevSN.Format(_T("SN%u"), pThis->m_dwDeviceSN);
|
|
|
|
for (int iTaskIndex = 0; iTaskIndex < pThis->m_pvtDownloadTaskItem->size(); iTaskIndex++)
|
|
{
|
|
iRet = 0;
|
|
do
|
|
{
|
|
pstTaskInfo = &pThis->m_pvtDownloadTaskItem->at(iTaskIndex);//只勾选一个,分开处理
|
|
pstTaskTable = (STRemTaskTable *)pstTaskInfo;
|
|
memset(&stTaskArg, 0, sizeof(STRemTaskArg));
|
|
if (!pThis->m_pTaskOper->QueryOnLineTdAttrFromSev(*pstTaskTable, &stTaskArg))//任务参数获取
|
|
{
|
|
break;
|
|
}
|
|
pThis->ShowProcessPercent(iPosIndex++, iTaskCount);
|
|
|
|
//如果是未测试完成的任务,直接不下载RG值
|
|
pRg = NULL;
|
|
if (pstTaskInfo->byTestStatus == EN_TASK_STATE_FINISH && stTaskArg.ucTestGRFlag)
|
|
{
|
|
pRg = (char*)malloc(14044); //支持1000个电极//pRg = (char*)malloc(sizeof(char) * 2700);
|
|
if (!pThis->m_pTaskOper->QueryOnLineTdRgFromSev(stTaskArg, pRg))//接地电阻获取
|
|
{
|
|
if (NULL != pRg)
|
|
{
|
|
free(pRg);
|
|
pRg = NULL;
|
|
}
|
|
//return false;
|
|
}
|
|
}
|
|
|
|
//判断任务是否存在
|
|
dwTdID = 0;
|
|
bTaskExistFlg = theApp.m_pTdManager->OnlineCheckTdExist(pstTaskTable->ucTaskID, szDevSN, &dwTdID);
|
|
dwTotalElec = stTaskArg.uiEndElec - stTaskArg.uiStartElec + 1;
|
|
if (!bTaskExistFlg)
|
|
{
|
|
// std::vector<CString> vtTaskID;
|
|
// vtTaskID.push_back(stTaskArg.ucTaskID);
|
|
// pThis->m_pTaskOper->DeleteTaskArray(vtTaskID);
|
|
theApp.m_pTdManager->OnlineSevTDListSynToDB(&stTaskArg, szDevSN); //更新任务参数信息
|
|
if (NULL != pRg && EN_TASK_YES_SYN == pstTaskInfo->eSynStatus)
|
|
{
|
|
char* pData = NULL;
|
|
for (int i = 0; i < dwTotalElec; i++)
|
|
{
|
|
pData = (&pRg[MAX_NAME_LEN+ sizeof(UINT32) + i*sizeof(STMeasuSigGRResult)]);
|
|
pThis->m_pTaskOper->UpdateGrData(dwTdID, pData, stTaskArg.stMeasuArg.ucSptType, 1);
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
dwTdID = theApp.m_pTdManager->OnLineImportTdHeadToDB(&stTaskArg, szDevSN);//新建任务并插入任务参数信息
|
|
if (NULL != pRg)
|
|
{
|
|
pThis->m_pTaskOper->InsertGrData(dwTdID, dwTotalElec, &pRg[MAX_NAME_LEN + sizeof(UINT32)], stTaskArg.stMeasuArg.ucSptType);
|
|
}
|
|
}
|
|
if (NULL != pRg)
|
|
{
|
|
free(pRg);
|
|
}
|
|
pThis->ShowProcessPercent(iPosIndex++, iTaskCount);
|
|
|
|
pThis->m_pTaskOper->QueryTdBasicInfo(dwTdID, &stTaskBasicInfo);
|
|
pThis->ShowProcessPercent(iPosIndex++, iTaskCount);
|
|
|
|
//下载电极坐标信息
|
|
//目前只有新增的跨孔装置和跨孔AM装置需要上传电极坐标信息
|
|
if (AR_CROSS_HOLE_GEOMATIVE == stTaskArg.stMeasuArg.ucArrayType
|
|
|| AR_CROSS_HOLE_GEOMATIVE_AM == stTaskArg.stMeasuArg.ucArrayType)
|
|
{
|
|
bElecInfoExist = theApp.m_pTdManager->OnlineCheckElecInfoExist(stTaskBasicInfo.ucTaskID, _T(""));
|
|
if (bElecInfoExist)//不存在
|
|
{
|
|
//请求云端电极坐标信息
|
|
pElecInfo = (char*)malloc(sizeof(char) * 20080);//允许一次传1000根电极的信息
|
|
if (pThis->m_pTaskOper->QueryOnLineElecInfoFromSev(stTaskArg, pElecInfo))//电极坐标信息获取
|
|
{
|
|
if (NULL != pElecInfo)
|
|
{
|
|
float* pfMaxWellDepth = (float*)(&pElecInfo[MAX_NAME_LEN * 2]);
|
|
UINT32* pTotalElec = (UINT32*)(&pElecInfo[MAX_NAME_LEN * 2 + sizeof(float)]);
|
|
UINT32 uiRecElenNum = ntohl(*pTotalElec);
|
|
dwTdID = pThis->m_pTaskOper->InsertCoordinatesData(stTaskArg.ucTaskID, uiRecElenNum, &pElecInfo[MAX_NAME_LEN * 2 + sizeof(UINT32)+sizeof(float)], *pfMaxWellDepth);//新建任务并插入任务参数信息
|
|
}
|
|
//return false;
|
|
}
|
|
|
|
if (pElecInfo != NULL)
|
|
{
|
|
free(pElecInfo);
|
|
pElecInfo = NULL;
|
|
|
|
}
|
|
}
|
|
}
|
|
pThis->ShowProcessPercent(iPosIndex++, iTaskCount);
|
|
|
|
pData = (char*)malloc(sizeof(char) * 4095);
|
|
|
|
uiStartPoint = 1;
|
|
for (i = 1; i < stTaskArg.uiTotalNum + 1; i++)
|
|
{
|
|
if (i%MAX_DOWNLOAD_POINT_NUM == 0)
|
|
{
|
|
uiEndPoint = i;
|
|
}
|
|
else if (i == stTaskArg.uiTotalNum)
|
|
{
|
|
uiEndPoint = stTaskArg.uiTotalNum; // -uiStartPoint + 1;
|
|
}
|
|
else
|
|
{
|
|
continue;
|
|
}
|
|
|
|
for (iSendCount = 0; iSendCount < 3; iSendCount++) //失败重新下载三次
|
|
{
|
|
if (pThis->m_pTaskOper->QueryOnLineTdDataFromSev(stTaskArg, uiStartPoint, uiEndPoint, pData))
|
|
{
|
|
break;
|
|
}
|
|
Sleep(200);
|
|
}
|
|
if (iSendCount>=3)//下载三次失败退出下载
|
|
{
|
|
if (LANG_ZHCN == g_iUILanguage)
|
|
iRet = AfxMessageBox(_T("是否终止下载?"),MB_YESNO);
|
|
else
|
|
iRet = MessageBoxEx(NULL, _T("Whether to terminate download?"), STRING_MESSAGEBOXEX_TITLE, MB_YESNO, MAKELANGID(LANG_ENGLISH, SUBLANG_ENGLISH_US));
|
|
if (IDYES == iRet)
|
|
{
|
|
pThis->SendMessage(WM_CLOSE, 0, 0);
|
|
return 1;
|
|
}
|
|
|
|
if (NULL != pData)
|
|
{
|
|
free(pData);
|
|
pData = NULL;
|
|
}
|
|
break;
|
|
//return false;
|
|
}
|
|
|
|
iTotalPoint = uiEndPoint - uiStartPoint + 1;
|
|
for (j = 0; j < iTotalPoint; j++)
|
|
{
|
|
if (!bTaskExistFlg)//if (FALSE)
|
|
{
|
|
ptTaskData = (STTaskDataRes *)(pData + MAX_NAME_LEN * sizeof(BYTE) + sizeof(UINT32) + j*sizeof(STTaskDataRes));
|
|
stMeasuBasicData.iID = ntohl(ptTaskData->dwID);
|
|
stMeasuBasicData.fV = tcp_ntohf(ptTaskData->fV);
|
|
stMeasuBasicData.fI = tcp_ntohf(ptTaskData->fI);
|
|
stMeasuBasicData.fR0 = tcp_ntohf(ptTaskData->fR0);
|
|
stMeasuBasicData.fSP = tcp_ntohf(ptTaskData->fSP);
|
|
stMeasuBasicData.fK = tcp_ntohf(ptTaskData->fK);
|
|
stMeasuBasicData.ucAlram = ptTaskData->ucAlram;
|
|
stMeasuBasicData.ucStack = ptTaskData->ucStack;
|
|
stMeasuBasicData.fR0_LC = tcp_ntohf(ptTaskData->fR0_LC);
|
|
int iAttachLen = (1 == stTaskArg.stMeasuArg.ucTestType) ? sizeof(STMeasuDataResAttachIP) : 0;
|
|
pThis->m_pTaskOper->UpdateTdBasicData(stTaskArg.stMeasuArg.ucSptType, stTaskArg.stMeasuArg.ucTestType, \
|
|
stTaskBasicInfo.iTdChannelID, stMeasuBasicData.iID, &stMeasuBasicData, ptTaskData + 1 + (j + 1)*sizeof(STMeasuDataResBasic) + j*iAttachLen);
|
|
}
|
|
else
|
|
{
|
|
ptTaskData = (STTaskDataRes *)(pData + MAX_NAME_LEN * sizeof(BYTE) + sizeof(UINT32) + j*sizeof(STTaskDataRes));
|
|
stTaskDataRes.dwID = ntohl(ptTaskData->dwID);
|
|
stTaskDataRes.fA = tcp_ntohf(ptTaskData->fA);
|
|
stTaskDataRes.fB = tcp_ntohf(ptTaskData->fB);
|
|
stTaskDataRes.fM = tcp_ntohf(ptTaskData->fM);
|
|
stTaskDataRes.fN = tcp_ntohf(ptTaskData->fN);
|
|
stTaskDataRes.fK = tcp_ntohf(ptTaskData->fK);
|
|
stTaskDataRes.fV = tcp_ntohf(ptTaskData->fV);
|
|
stTaskDataRes.fI = tcp_ntohf(ptTaskData->fI);
|
|
stTaskDataRes.fR0 = tcp_ntohf(ptTaskData->fR0);
|
|
stTaskDataRes.fSP = tcp_ntohf(ptTaskData->fSP);
|
|
stTaskDataRes.fK = tcp_ntohf(ptTaskData->fK);
|
|
stTaskDataRes.ucAlram = ptTaskData->ucAlram;
|
|
stTaskDataRes.ucStack = ptTaskData->ucStack;
|
|
stTaskDataRes.fR0_LC = tcp_ntohf(ptTaskData->fR0_LC);
|
|
pThis->m_pTaskOper->OnlineDownloadRes2DData(stTaskArg.stMeasuArg.ucSptType, &stTaskDataRes, stTaskBasicInfo.iTdChannelID);
|
|
}
|
|
}
|
|
uiStartPoint = i + 1;
|
|
}
|
|
if (NULL != pData)
|
|
{
|
|
free(pData);
|
|
}
|
|
iRet = 1;
|
|
pThis->ShowProcessPercent(iPosIndex++, iTaskCount);
|
|
} while (FALSE);
|
|
|
|
if (iRet == 0)
|
|
{
|
|
if (!theApp.m_NetWorkOper.GetLinkStatus())
|
|
{
|
|
if (g_iUILanguage == LANG_ZHCN)
|
|
AfxMessageBox(_T("请查看网络是否断开"));
|
|
else
|
|
MessageBoxEx(NULL, _T("Check to see if the network is disconnected"), STRING_MESSAGEBOXEX_TITLE, MB_OK, MAKELANGID(LANG_ENGLISH, SUBLANG_ENGLISH_US));
|
|
pThis->SendMessage(WM_CLOSE, 0, 0);
|
|
return 0;
|
|
}
|
|
else
|
|
{
|
|
if (g_iUILanguage == LANG_ZHCN)
|
|
AfxMessageBox(_T("下载任务失败"));
|
|
else
|
|
MessageBoxEx(NULL, _T("Download task failed"), STRING_MESSAGEBOXEX_TITLE, MB_OK, MAKELANGID(LANG_ENGLISH, SUBLANG_ENGLISH_US));
|
|
}
|
|
}
|
|
}
|
|
|
|
if (g_iUILanguage == LANG_ZHCN)
|
|
AfxMessageBox(_T("下载数据完成"));
|
|
else
|
|
MessageBoxEx(NULL, _T("Download data complete"), STRING_MESSAGEBOXEX_TITLE, MB_OK, MAKELANGID(LANG_ENGLISH, SUBLANG_ENGLISH_US));
|
|
|
|
pThis->SendMessage(WM_CLOSE, 0, 0);
|
|
return 0;
|
|
}
|
|
|
|
UINT CDownloadDataProgressDlg::UploadThread(LPVOID pParam)
|
|
{
|
|
CDownloadDataProgressDlg* pThis = (CDownloadDataProgressDlg*)pParam;
|
|
if (pThis == NULL)
|
|
{
|
|
pThis->SendMessage(WM_CLOSE, 0, 0);
|
|
return 0;
|
|
}
|
|
|
|
//Sleep(1000);
|
|
DWORD dwTdID = atoi(pThis->m_stTaskArg->ucTaskID);
|
|
//int iRet = pThis->m_pTaskOper->OnlineUploadRes2DTask(iTaskId);
|
|
|
|
int iRet = 0;
|
|
CString strLog = _T("");
|
|
STQueryTaskBasicInfo stQueryTdInfo;
|
|
do
|
|
{
|
|
memset(stQueryTdInfo.szTaskName, 0, sizeof(stQueryTdInfo.szTaskName));
|
|
memset(stQueryTdInfo.ucTaskID, 0, sizeof(stQueryTdInfo.ucTaskID));
|
|
iRet = pThis->m_pTaskOper->QueryTdBasicInfo(dwTdID, &stQueryTdInfo);
|
|
if (iRet == FALSE)
|
|
{
|
|
strLog.Format(_T("[%s][%d]Query task information failed. taskid = %d"), dwTdID);
|
|
CFileOperTools::GetInstance()->WriteComLog(strLog);
|
|
if (LANG_ZHCN == g_iUILanguage)
|
|
AfxMessageBox(_T("查询任务信息失败"));
|
|
else
|
|
MessageBoxEx(NULL, _T("Query task information failed"), STRING_MESSAGEBOXEX_TITLE, MB_OK, MAKELANGID(LANG_ENGLISH, SUBLANG_ENGLISH_US));
|
|
break;
|
|
}
|
|
pThis->GetDlgItem(IDC_TASK_PERCENT)->SetWindowTextA(_T("20%"));
|
|
Sleep(500);
|
|
|
|
iRet = pThis->m_pTaskOper->OnlineUploadRes2DArg(dwTdID, stQueryTdInfo);
|
|
if (iRet == FALSE)//upload parameter
|
|
{
|
|
break;
|
|
}
|
|
pThis->GetDlgItem(IDC_TASK_PERCENT)->SetWindowTextA(_T("40%"));
|
|
Sleep(500);
|
|
|
|
iRet = pThis->m_pTaskOper->OnlineUploadRes2DRg(dwTdID, stQueryTdInfo);
|
|
if (FALSE == iRet)//upload Rg
|
|
{
|
|
break;;
|
|
}
|
|
pThis->GetDlgItem(IDC_TASK_PERCENT)->SetWindowTextA(_T("60%"));
|
|
Sleep(500);
|
|
|
|
//目前只有新增的跨孔装置和跨孔AM装置需要上传电极坐标信息
|
|
if (AR_CROSS_HOLE_GEOMATIVE == stQueryTdInfo.iAR
|
|
|| AR_CROSS_HOLE_GEOMATIVE_AM == stQueryTdInfo.iAR)
|
|
{
|
|
iRet = pThis->m_pTaskOper->UploadElecCoordinatesInfo(dwTdID, stQueryTdInfo);
|
|
if (FALSE == iRet)//upload
|
|
{
|
|
break;;
|
|
}
|
|
pThis->GetDlgItem(IDC_TASK_PERCENT)->SetWindowTextA(_T("70%"));
|
|
Sleep(500);
|
|
}
|
|
|
|
iRet = pThis->m_pTaskOper->OnlineUploadRes2DData(dwTdID, stQueryTdInfo);
|
|
if (FALSE == iRet)//upload point data
|
|
{
|
|
break;;
|
|
}
|
|
pThis->GetDlgItem(IDC_TASK_PERCENT)->SetWindowTextA(_T("80%"));
|
|
Sleep(500);
|
|
|
|
int i = (int)VAL_ZERO;
|
|
HTREEITEM hChild;
|
|
CString szName_Status;
|
|
_CommandPtr pCmdIns = NULL;
|
|
pCmdIns.CreateInstance(_uuidof(Command));
|
|
pCmdIns->ActiveConnection = theApp.m_pConnection;
|
|
theApp.m_pConnection->BeginTrans();
|
|
CString strSql;
|
|
strSql.Empty();
|
|
strSql.Format(_T("update td set TdStatus = %d where TDCN = '%s'"), EN_TASK_YES_SYN, stQueryTdInfo.ucTaskID);
|
|
pCmdIns->CommandText = strSql.AllocSysString();
|
|
pCmdIns->Execute(NULL, NULL, adCmdText);
|
|
theApp.m_pConnection->CommitTrans();
|
|
pThis->GetDlgItem(IDC_TASK_PERCENT)->SetWindowTextA(_T("100%"));
|
|
Sleep(500);
|
|
|
|
} while (FALSE);
|
|
|
|
if (IDOK != iRet)
|
|
{
|
|
if (!pThis->m_pTaskOper->DeleteTask(dwTdID))
|
|
{
|
|
if (LANG_ZHCN == g_iUILanguage)
|
|
AfxMessageBox(_T("删除任务失败"));
|
|
else
|
|
MessageBoxEx(NULL, _T("Delete task failed"), STRING_MESSAGEBOXEX_TITLE, MB_OK, MAKELANGID(LANG_ENGLISH, SUBLANG_ENGLISH_US));
|
|
}
|
|
if (LANG_ZHCN == g_iUILanguage)
|
|
AfxMessageBox(_T("任务创建并上传到服务端失败"));
|
|
else
|
|
MessageBoxEx(NULL, _T("The task creation and upload to the server failed"), STRING_MESSAGEBOXEX_TITLE, MB_OK, MAKELANGID(LANG_ENGLISH, SUBLANG_ENGLISH_US));
|
|
}
|
|
else
|
|
{
|
|
//taskItem.ucTaskStats = EN_TASK_YES_SYN;//暂时默认未上传
|
|
}
|
|
pThis->m_pParent->SendMessage(WM_MSG_UPDATE_TASK_LIST, (WPARAM)0, 0);
|
|
|
|
pThis->SendMessage(WM_CLOSE, 0, 0);
|
|
return 0;
|
|
} |