| 
					
				 | 
			
			
				@@ -234,12 +234,25 @@ bool TCLCommand::ParseCommandFromString(std::string str, CommandParam &cmdParam) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     return false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-bool TCLCommand::ParseCommandsFromXml(const TCHAR* file_name, std::vector<CommandParam>& vtCommandParams) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+bool TCLCommand::ParseCommandsFromXml(std::string strFileOrString, std::vector<CommandParam>& vtCommandParams, BOOL bFile) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	tinyxml2::XMLDocument doc; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	if (tinyxml2::XML_SUCCESS != doc.LoadFile(file_name) ) {		 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		return false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	if ( bFile ) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		// 从文件中加载; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		if (tinyxml2::XML_SUCCESS != doc.LoadFile(strFileOrString.c_str()) )  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		{		 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			return false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	else  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		// 从文本中加载; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		if (tinyxml2::XML_SUCCESS != doc.Parse(strFileOrString.c_str(), strFileOrString.size()) ) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		{		 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			return false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	}	 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	tinyxml2::XMLElement *pXmlRoot = NULL; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	if ((pXmlRoot = doc.RootElement()) == NULL) 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -678,12 +691,15 @@ void TCLCommand::SetInternalCMDParams(DWORD dwResouceID) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     std::string data; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     if ( utils::GetResourceData(dwResouceID, _T("BIN"), data) ) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        ParseCommandsFromString(data, m_vtInternalCMDParams); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        ParseCommandsFromXml(data, m_vtInternalCMDParams, FALSE); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 void TCLCommand::SetExternalCMDParams(LPCTSTR lpFileName) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     m_vtExternalCMDParams.clear(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    ParseCommandsFromFile(lpFileName, m_vtExternalCMDParams); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	if ( _tcsstr(lpFileName, _T(".xml")) ) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		ParseCommandsFromXml(lpFileName, m_vtExternalCMDParams); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	else 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		ParseCommandsFromFile(lpFileName, m_vtExternalCMDParams); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 |