当前位置: 首页>>代码示例>>C++>>正文


C++ CInterface::SMT_GetXDHandleRecorder方法代码示例

本文整理汇总了C++中CInterface::SMT_GetXDHandleRecorder方法的典型用法代码示例。如果您正苦于以下问题:C++ CInterface::SMT_GetXDHandleRecorder方法的具体用法?C++ CInterface::SMT_GetXDHandleRecorder怎么用?C++ CInterface::SMT_GetXDHandleRecorder使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在CInterface的用法示例。


在下文中一共展示了CInterface::SMT_GetXDHandleRecorder方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。

示例1: SMT_StartUpRecordThread

UINT SMT_StartUpRecordThread( LPVOID pParam )
{	
	char			 sErrMsg[256];
	char			 sBakPath[256];	
	char			 sYearMonth[20];
	XDHANDLE		 nHandler=NULL;
	CData			 cData;

	memset(sErrMsg,   0,sizeof sErrMsg);
	memset(sBakPath,  0,sizeof sBakPath);
	memset(sYearMonth,0,sizeof sYearMonth);

	//创建记录源文件备份的目录
	strcpy(sBakPath,((CSmartCommunicationDlg*)pParam)->m_DealPath);
	strcat(sBakPath,"\\Bak");
	CreateDirectory(sBakPath,NULL);	
	try
	{
To_Start:
		//从连接池中获取一个连接
		while(g_StartFlag )
		{
			if( (nHandler=g_CInterface.SMT_GetXDHandleRecorder())!=NULL)	break;			
			Sleep(1000);
		}
		memset(sErrMsg,   0,sizeof sErrMsg   );
		memset(sYearMonth,0,sizeof sYearMonth);		
		//查询上月是否还有数据文件,若有则移到上传目录下
		memcpy(sErrMsg,cData.GetSysTime(),6);
		sprintf(sYearMonth,"%ld",atol(sErrMsg)-1);
		((CSmartCommunicationDlg*)pParam)->SMT_ChnagLinkFileToUpFile(sYearMonth);
		while(g_StartFlag )
		{
			//定时上传记录到金仕达
			if(! ((CSmartCommunicationDlg*)pParam)->SMT_UpBeforeFile(nHandler) )
			{
				Sleep(500);
				if( !g_CInterface.m_bConnectStatus )
				{
					g_CInterface.SMT_SetXDHandleFree(nHandler);
					goto To_Start;
				}
			}
			memset(sYearMonth,0,sizeof sYearMonth);
			memcpy(sYearMonth,cData.GetSysTime(),6);
			//定时将各个链路产生的数据文件进行转移到上传记录的目录下
			if( !((CSmartCommunicationDlg*)pParam)->SMT_ChnagLinkFileToUpFile(sYearMonth) )
			{
				//每半分钟查询一下是否有需要上传的文件记录
				for( int i=0; i<5*5; i++ ) 
				{
					Sleep(g_IniFilePara.lUpRecordWaitTime/5);
					if( !g_StartFlag ) 	break;
				}
			}
		}
	}
	catch (...)
	{
		memset(sErrMsg,0,sizeof sErrMsg);
		strcpy(sErrMsg,"上传交易记录的线程异常,前置停止运行");
		((CSmartCommunicationDlg*)pParam)->WriteLog(sErrMsg);
		((CSmartCommunicationDlg*)pParam)->OnButtonStop();
		MessageBox(NULL,sErrMsg,"严重警告",MB_OK);
	}
	return 0;
}
开发者ID:nykma,项目名称:ykt4sungard,代码行数:67,代码来源:SmartCommunicationDlg.cpp


注:本文中的CInterface::SMT_GetXDHandleRecorder方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。