From 09c5ba6f8cbd8c75291b74e9ff34e246276826f9 Mon Sep 17 00:00:00 2001
From: LiFan <2308045698@qq.com>
Date: 星期二, 25 六月 2024 18:53:29 +0800
Subject: [PATCH] 代码提交

---
 jrj/project/business/Supplier.maint.cpp | 1267 +++++++++++++++++++++++++++++----------------------------
 1 files changed, 648 insertions(+), 619 deletions(-)

diff --git a/jrj/project/business/Supplier.maint.cpp b/jrj/project/business/Supplier.maint.cpp
index e28eaf6..699a072 100644
--- a/jrj/project/business/Supplier.maint.cpp
+++ b/jrj/project/business/Supplier.maint.cpp
@@ -1,5 +1,17 @@
-class maintSupplierv3 : public maint
+#include <wobject/xstring.hpp>
+#include <xcontrol/xtreeview.hpp>
+#include <xcontrol/xdwgrid.hpp>
+#include <xcontrol/xlayersheet.hpp>
+
+
+
+#include "vbusiness/vframe/maint.vframe.vbusiness.hpp"
+#include "viewobject/view.base.hpp"
+
+using xml = KXMLDOMDocument;
+class __declspec(dllexport) maintSupplierv3 : public maint
 {
+public:
 	xdwtable dw_base;
 	xdwtable dw_kpinfo;
 	xdwtable dw_visitp;
@@ -7,16 +19,24 @@
 	xdwgrid dw_supgoods;
 	xlayersheet m_layer;
 	xlayersheet xsheet;				
-	//string xpage;
-	string m_diffstr;
-	vcontrol vc;
+	//xstring xpage;
+	xstring m_diffstr;
 
-	string str_replace(string s, string a, string b, int k)
+public:
+	maintSupplierv3(void* implPtr, HWND hWnd) :maint(implPtr, hWnd) {}
+public:
+	static maintSupplierv3* CreateInstance(void* implPtr, void* hWnd)
+	{
+		maintSupplierv3* pWin = new maintSupplierv3(implPtr, (HWND)hWnd);
+		return pWin;
+	}
+
+	xstring str_replace(xstring s, xstring a, xstring b, int k)
 	{
 		int i = s.find(a,k);			
 		if (i > -1)
 		{
-			string tmp;
+			xstring tmp;
 			if(i==0)
 				tmp = b + s.mid(i + a.length(), s.length());
 			else if (i + a.length() == s.length())
@@ -26,21 +46,21 @@
 			str_replace(tmp, a, b, i + b.length() + 1);
 		}
 		else
-			return ""+s;	
+			return L""+s;	
 	}			
-	string str_replace(string s, string a, string b)
+	xstring str_replace(xstring s, xstring a, xstring b)
 	{
 		return str_replace( s,  a, b, 0);
 	}			
 
-	int SetAttributeByxml(xml x,string nodename,string action,string status)
+	int SetAttributeByxml(xml x,xstring nodename,xstring action,xstring status)
 	{	
-		msxml::IXMLDOMElement e;
-		msxml::IXMLDOMNodeList nlist = x.GetXmlDoc().selectNodes("//"+nodename+"");	
+		KXMLDOMElement e;
+		KXMLDOMNodeList nlist = x.selectNodes(L"//"+nodename+L"");	
 		if(nlist)
 		{	
 	
-			int nlen = nlist.length;
+			int nlen = nlist.length();
 			int i;
 			for(i=0;	i<nlen;	i++)
 			{
@@ -52,14 +72,14 @@
 		}						
 	}
 		
-	int SetAttributeByaddress(xml x,string nodename,string action,string status)
+	int SetAttributeByaddress(xml x,xstring nodename,xstring action,xstring status)
 	{	
-		msxml::IXMLDOMElement e;
-		msxml::IXMLDOMNodeList nlist = x.GetXmlDoc().selectNodes("//"+nodename+"");	
+		KXMLDOMElement e;
+		KXMLDOMNodeList nlist = x.selectNodes(L"//"+nodename+L"");	
 		if(nlist)
 		{	
 	
-			int nlen = nlist.length;
+			int nlen = nlist.length();
 			int i;
 			for(i=0;	i<nlen;	i++)
 			{
@@ -77,229 +97,229 @@
 		dw_kpinfo.AcceptText();
 		dw_visitp.AcceptText();
 		//xdwtable__ dw_base = new xdwtable__;
-		//dw_base.setNativePointer(this.GetControl("dw_base"));
-		xdwtable dw = dw_base.FindDwTable("Supplier",0);
-		string sStatus = dw.GetItemString(1,"Status",0);
+		//dw_base.setNativePointer(this.GetControl(L"dw_base"));
+		xdwtable dw = dw_base.FindDwTable(L"Supplier",0);
+		xstring sStatus = dw.GetItemString(1,L"Status");
 		int slen = sStatus.length();
 		
 		//if (slen >1)
 		
-		string AdvantageProduct = dw_base.GetItemString(1,"AdvantageProduct");
-		if(AdvantageProduct.rtrim()=="" )
+		xstring AdvantageProduct = dw_base.GetItemString(1,L"AdvantageProduct");
+		if(AdvantageProduct.rtrim()==L"" )
 		{
-				alert("浼樺娍浜у搧涓虹┖锛�");
+				alert(L"浼樺娍浜у搧涓虹┖锛�");
 				return  -1;
 		}
-		string FactoryForPaperCard = dw_base.GetItemString(1,"FactoryForPaperCard");
-		string FactoryForPart = dw_base.GetItemString(1,"FactoryForPart");
-		string FactoryForPacking = dw_base.GetItemString(1,"FactoryForPacking");
-		string FactoryForItem = dw_base.GetItemString(1,"FactoryForItem");
-		string FactoryForMake = dw_base.GetItemString(1,"FactoryForMake");
+		xstring FactoryForPaperCard = dw_base.GetItemString(1,L"FactoryForPaperCard");
+		xstring FactoryForPart = dw_base.GetItemString(1,L"FactoryForPart");
+		xstring FactoryForPacking = dw_base.GetItemString(1,L"FactoryForPacking");
+		xstring FactoryForItem = dw_base.GetItemString(1,L"FactoryForItem");
+		xstring FactoryForMake = dw_base.GetItemString(1,L"FactoryForMake");
 			
-		if(FactoryForPaperCard !="Y" && FactoryForPart  !="Y" && FactoryForPacking  !="Y" && FactoryForItem  !="Y" && FactoryForMake  !="Y")
+		if(FactoryForPaperCard !=L"Y" && FactoryForPart  !=L"Y" && FactoryForPacking  !=L"Y" && FactoryForItem  !=L"Y" && FactoryForMake  !=L"Y")
 		{
-				alert("渚涘簲鍟嗗垎缁勪负绌猴紒");
+				alert(L"渚涘簲鍟嗗垎缁勪负绌猴紒");
 				return  -1;
 		}
 			
-		if(sStatus=="")
+		if(sStatus==L"")
 		{
-			alert("渚涘簲鍟嗙姸鎬佽緭鍏ユ湁璇紒");
+			alert(L"渚涘簲鍟嗙姸鎬佽緭鍏ユ湁璇紒");
 			return -1;
 		}
-		string sPartyNo = dw.GetItemString(1,"PartyNo",0);
-		if (sPartyNo=="" )
+		xstring sPartyNo = dw.GetItemString(1,L"PartyNo");
+		if (sPartyNo==L"" )
 			{
-				//sPartyNo = publiccode::GetIdentityNo("Party2"); 
-				sPartyNo = publiccode::GetIdentityNo("Party2"); 
-				dw.SetItemString(1,"PartyNo",sPartyNo);
-				//alert("渚涘簲鍟嗙紪鍙蜂负绌猴紒");
+				//sPartyNo = publiccode::GetIdentityNo(L"Party2"); 
+				sPartyNo = publiccode::GetIdentityNo(L"Party2"); 
+				dw.SetItemString(1,L"PartyNo",sPartyNo);
+				//alert(L"渚涘簲鍟嗙紪鍙蜂负绌猴紒");
 				//return -1;
 		}
 		
-		string ShortName = dw.GetItemString(1,"ShortName",0);
-		if(ShortName.rtrim()=="" )
+		xstring ShortName = dw.GetItemString(1,L"ShortName");
+		if(ShortName.rtrim()==L"" )
 		{
-				alert("渚涘簲鍟嗙畝绉颁负绌猴紒");
+				alert(L"渚涘簲鍟嗙畝绉颁负绌猴紒");
 				return -1;
 		}
-		string YearEstablished = dw_base.GetItemString(1,"YearEstablished");
-		if(YearEstablished.rtrim()=="" )
+		xstring YearEstablished = dw_base.GetItemString(1,L"YearEstablished");
+		if(YearEstablished.rtrim()==L"" )
 		{
-				alert("鎴愮珛鏃堕棿涓虹┖锛�");
+				alert(L"鎴愮珛鏃堕棿涓虹┖锛�");
 				return -1;
 		}
-		string LegalPerson = dw_base.GetItemString(1,"LegalPerson");
-		if(LegalPerson.rtrim()=="" )
+		xstring LegalPerson = dw_base.GetItemString(1,L"LegalPerson");
+		if(LegalPerson.rtrim()==L"" )
 		{
-				alert("娉曚汉浠h〃涓虹┖锛�");
+				alert(L"娉曚汉浠h〃涓虹┖锛�");
 				return -1;
 		}
 			
-		string ThirdPartyReport = dw_base.GetItemString(1,"ThirdPartyReport");
-		if(ThirdPartyReport.rtrim()=="" )
+		xstring ThirdPartyReport = dw_base.GetItemString(1,L"ThirdPartyReport");
+		if(ThirdPartyReport.rtrim()==L"" )
 		{
-				alert("楠屽巶鎶ュ憡涓虹┖锛�");
+				alert(L"楠屽巶鎶ュ憡涓虹┖锛�");
 				return -1;
 		}
-		string SupplierSource = dw_base.GetItemString(1,"SupplierSource");
-		if(SupplierSource.rtrim()=="" )
+		xstring SupplierSource = dw_base.GetItemString(1,L"SupplierSource");
+		if(SupplierSource.rtrim()==L"" )
 		{
-				alert("渚涘簲鍟嗘潵婧愪负绌猴紒");
+				alert(L"渚涘簲鍟嗘潵婧愪负绌猴紒");
 				return -1;
 		}
-		string Address = dw_base.GetItemString(1,"Address");
-		if(Address.rtrim()=="" )
+		xstring Address = dw_base.GetItemString(1,L"Address");
+		if(Address.rtrim()==L"" )
 		{
-				alert("渚涘簲鍟嗗湴鍧�涓虹┖锛�");
+				alert(L"渚涘簲鍟嗗湴鍧�涓虹┖锛�");
 				return -1;
 		}
-		string bAddress = dw_base.GetItemString(1,"bAddress");
-		if(bAddress.rtrim()=="" )
+		xstring bAddress = dw_base.GetItemString(1,L"bAddress");
+		if(bAddress.rtrim()==L"" )
 		{
-				alert("瀵勪欢鍦板潃涓虹┖锛�");
+				alert(L"瀵勪欢鍦板潃涓虹┖锛�");
 				return -1;
 		}
 		
 		
-		string sName = dw.GetItemString(1,"Name",0)+"";
+		xstring sName = dw.GetItemString(1,L"Name")+L"";
 		sName.rtrim();
 
-		//sName = str_replace(sName," ","");				
-		if (sName=="")
+		//sName = str_replace(sName,L" ",L"");				
+		if (sName==L"")
 			{
-				alert("渚涘簲鍟嗗悕绉颁负绌猴紒");
+				alert(L"渚涘簲鍟嗗悕绉颁负绌猴紒");
 				return -1;
 		}
 		else
 		{
-			xaserverarg arg=new xaserverarg;
+			xaserverarg arg;
 			arg.setNativePointer(arg.CreateInstance());		
-			arg.AddArg("stype", "Party2");
-			arg.AddArg("svalue", sName);
+			arg.AddArg(L"stype", L"Party2");
+			arg.AddArg(L"svalue", sName);
 		
-			xml x = new xml;
-			x.setNativePointer(x.CreateInstance());
-			msxml::IXMLDOMDocument xdoc = x.GetXmlDoc();
+			xml x ;
+			
+			KXMLDOMDocument xdoc = x;
 			dw_base.DwUpdateAllTo(xdoc);
-			//msxml::IXMLDOMElement e= x.GetXmlDoc().documentElement;
-			//var n = x.GetXmlDoc().selectSingleNode("Supplier[@update.new='1']");
+			//KXMLDOMElement e= x.GetXmlDoc().documentElement;
+			//var n = x.GetXmlDoc().selectSingleNode(L"Supplier[@update.new='1']");
 			//if (n)
 			if (!maint::m_EntityID)
 			{
-				arg.AddArg("operate", "update.new");
+				arg.AddArg(L"operate", L"update.new");
 			}
 			else
 			{
-				arg.AddArg("operate", "update.modify");
+				arg.AddArg(L"operate", L"update.modify");
 			}
-			string sguid=x.GetXmlDoc().selectSingleNode("Supplier/@guid").text;
-			arg.AddArg("sguid", sguid);
-			//alert(sguid,"->",maint::m_EntityID);
+			xstring sguid=x.selectSingleNode(L"Supplier/@guid").text();
+			arg.AddArg(L"sguid", sguid);
+			//alert(sguid,L"->",maint::m_EntityID);
 			bool lbRepeated = publiccode::IsRepeated(arg); 
 			if (lbRepeated)
 			{
-				alert("渚涘簲鍟嗗悕绉版湁閲嶅锛�");
+				alert(L"渚涘簲鍟嗗悕绉版湁閲嶅锛�");
 				return -1;
 			}
 		}
 		
-		/*dw = dw_basegy.FindDwTable("Supplier",0);
-		string suserid = xaserver::GetUserId();//publiccode::GetUserInfo().id;
-		string susername = publiccode::GetUser(suserid).name;
-		string sdate = publiccode::GetCurrentDate();
-		dw.SetItemString(1,"ModifierID",suserid);//Party
-		dw.SetItemDisplayString(1,"ModifierID",susername);//Party
-		dw.SetItemString(1,"ModifyDate",sdate);*/
+		/*dw = dw_basegy.FindDwTable(L"Supplier",0);
+		xstring suserid = xaserver::GetUserId();//publiccode::GetUserInfo().id;
+		xstring susername = publiccode::GetUser(suserid).name;
+		xstring sdate = publiccode::GetCurrentDate();
+		dw.SetItemString(1,L"ModifierID",suserid);//Party
+		dw.SetItemDisplayString(1,L"ModifierID",susername);//Party
+		dw.SetItemString(1,L"ModifyDate",sdate);*/
 		
 		int i;
-		dw =  dw_base.FindDwTable("item",0);
+		dw =  dw_base.FindDwTable(L"item",0);
 		for(i=1;i<=dw.GetRowCount();i++)
 		{
-			string aTemp;
-			string aName = dw.GetItemString(i,"Name",0);
-			if (aName=="" )
+			xstring aTemp;
+			xstring aName = dw.GetItemString(i,L"Name");
+			if (aName==L"" )
 			{
-				aTemp=dw.GetItemString(i,"JobTitle",0)+dw.GetItemString(i,"Gender",0)+dw.GetItemString(i,"Mobile",0)+dw.GetItemString(i,"TEL",0)+dw.GetItemString(i,"Email",0)+dw.GetItemString(i,"IM",0)+dw.GetItemString(i,"Remark",0);
-				if(aTemp !="")
+				aTemp=dw.GetItemString(i,L"JobTitle")+dw.GetItemString(i,L"Gender")+dw.GetItemString(i,L"Mobile")+dw.GetItemString(i,L"TEL")+dw.GetItemString(i,L"Email")+dw.GetItemString(i,L"IM")+dw.GetItemString(i,L"Remark");
+				if(aTemp !=L"")
 				{
-					alert("鑱旂郴浜哄悕绉板繀濉紒");
+					alert(L"鑱旂郴浜哄悕绉板繀濉紒");
 					return -1;
 				}						
 			}
 			else
 			{
-				string aStatus;
-				aStatus = dw.GetItemString(i,"Status",0);
-				if (aStatus=="")
+				xstring aStatus;
+				aStatus = dw.GetItemString(i,L"Status");
+				if (aStatus==L"")
 				{
-					dw.SetItemString(i,"Status","1");
+					dw.SetItemString(i,L"Status",L"1");
 				}
 			}
 		}
 		
-		/*dw.setNativePointer(dw_base.FindDwTable("item2",0));
+		/*dw.setNativePointer(dw_base.FindDwTable(L"item2",0));
 		for(i=1;i<=dw.GetRowCount();i++)
 		{
-			string bTemp;
-			bTemp=dw.GetItemString(i,"AddressName",0)+dw.GetItemString(i,"Address",0);
-			if(bTemp !="" && bTemp != nil)
+			xstring bTemp;
+			bTemp=dw.GetItemString(i,L"AddressName",0)+dw.GetItemString(i,L"Address",0);
+			if(bTemp !=L"" && bTemp != nil)
 			{
-				if (dw.GetItemString(i,"Status",0)=="" || dw.GetItemString(i,"Status",0)==nil)
-					dw.SetItemString(i,"Status","1");
-				if (dw.GetItemString(i,"IdentifyAddressFlag",0)=="" || dw.GetItemString(i,"IdentifyAddressFlag",0)==nil)
-					dw.SetItemString(i,"IdentifyAddressFlag","N");
-				if (dw.GetItemString(i,"PrimaryFlag",0)=="" || dw.GetItemString(i,"PrimaryFlag",0)==nil)
-					dw.SetItemString(i,"PrimaryFlag","N");
+				if (dw.GetItemString(i,L"Status",0)==L"" || dw.GetItemString(i,L"Status",0)==nil)
+					dw.SetItemString(i,L"Status",L"1");
+				if (dw.GetItemString(i,L"IdentifyAddressFlag",0)==L"" || dw.GetItemString(i,L"IdentifyAddressFlag",0)==nil)
+					dw.SetItemString(i,L"IdentifyAddressFlag",L"N");
+				if (dw.GetItemString(i,L"PrimaryFlag",0)==L"" || dw.GetItemString(i,L"PrimaryFlag",0)==nil)
+					dw.SetItemString(i,L"PrimaryFlag",L"N");
 			}
 		}*/
 		
-		dw = dw_kpinfo.FindDwTable("item3",0);
+		dw = dw_kpinfo.FindDwTable(L"item3",0);
 		for(i=1;i<=dw.GetRowCount();i++)
 		{
-			string cTemp;
-			string cName = dw.GetItemString(i,"BankName",0);
-			if (cName=="" )
+			xstring cTemp;
+			xstring cName = dw.GetItemString(i,L"BankName");
+			if (cName==L"" )
 			{
-				cTemp=dw.GetItemString(i,"BankAccountNo",0)+dw.GetItemString(i,"City",0);
-				if(cTemp !="")
+				cTemp=dw.GetItemString(i,L"BankAccountNo")+dw.GetItemString(i,L"City");
+				if(cTemp !=L"")
 				{
-					alert("閾惰鍚嶇О蹇呭~锛�");
+					alert(L"閾惰鍚嶇О蹇呭~锛�");
 					return -1;
 				}
 			}
-			cName = dw.GetItemString(i,"BankAccountNo",0);
-			if (cName=="" )
+			cName = dw.GetItemString(i,L"BankAccountNo");
+			if (cName==L"" )
 			{
-				cTemp=dw.GetItemString(i,"BankName",0)+dw.GetItemString(i,"City",0);
-				if(cTemp !="" )
+				cTemp=dw.GetItemString(i,L"BankName")+dw.GetItemString(i,L"City");
+				if(cTemp !=L"" )
 				{
-					alert("閾惰璐﹀彿蹇呭~锛�");
+					alert(L"閾惰璐﹀彿蹇呭~锛�");
 					return -1;
 				}
 			}					
 			else {
-				if (dw.GetItemString(i,"Status",0)=="" )
-					dw.SetItemString(i,"Status","1");
+				if (dw.GetItemString(i,L"Status")==L"" )
+					dw.SetItemString(i,L"Status",L"1");
 				}
 		}
 			
-		dw = dw_kpinfo.FindDwTable("Party",0);
+		dw = dw_kpinfo.FindDwTable(L"Party",0);
 		if (dw)
 		{
-			xdwtable dw_b = dw_kpinfo.FindDwTable("item3",0);
+			xdwtable dw_b = dw_kpinfo.FindDwTable(L"item3",0);
 			for(i=1;i<=dw.GetRowCount();i++)
 			{
-				string skName = dw.GetItemString(i,"Name",0);
-				if (skName=="" )
+				xstring skName = dw.GetItemString(i,L"Name");
+				if (skName==L"" )
 				{
 					int j;
 					for(j=1;j<=dw_b.GetRowCount();j++)
 					{
-						string kTemp = dw_b.GetItemString(j,"BankName",0)+dw_b.GetItemString(j,"BankAccountNo",0)+"";
-						if(kTemp !="" )
+						xstring kTemp = dw_b.GetItemString(j,L"BankName")+dw_b.GetItemString(j,L"BankAccountNo")+L"";
+						if(kTemp !=L"" )
 						{
-							alert("寮�绁ㄥ崟浣嶅悕绉颁负绌猴紒");
+							alert(L"寮�绁ㄥ崟浣嶅悕绉颁负绌猴紒");
 							return -1;
 						}									
 					}						
@@ -307,22 +327,22 @@
 			}
 		}
 						
-		xdwtable dw_pc = dw_base.FindDwTable("item");
+		xdwtable dw_pc = dw_base.FindDwTable(L"item");
 		for(int h =1; h <= dw_pc.GetRowCount();h++)
 		{
-			if(dw_pc.GetItemString(h,"Name")=="")
+			if(dw_pc.GetItemString(h,L"Name")==L"")
 			{
-				alert("璇疯緭鍏ヨ仈绯讳汉濮撳悕!");
+				alert(L"璇疯緭鍏ヨ仈绯讳汉濮撳悕!");
 					return -1;
 			}
-			if(dw_pc.GetItemString(h,"Mobile")=="")
+			if(dw_pc.GetItemString(h,L"Mobile")==L"")
 			{
-				alert("璇疯緭鍏ヨ仈绯讳汉鎵嬫満鍙�!");
+				alert(L"璇疯緭鍏ヨ仈绯讳汉鎵嬫満鍙�!");
 				return -1;
 			}
-			if(dw_pc.GetItemString(h,"IM")=="")
+			if(dw_pc.GetItemString(h,L"IM")==L"")
 			{
-				alert("璇疯緭鍏ヨ仈绯讳汉QQ鍙�!");
+				alert(L"璇疯緭鍏ヨ仈绯讳汉QQ鍙�!");
 				return -1;
 			}
 		}
@@ -331,10 +351,10 @@
 
 	int OnChangeRowNo(xdwtable dw,int row)
 	{
-		dw.SetItemString(1, "SeqNo", "1");								
+		dw.SetItemString(1, L"SeqNo", L"1");								
 		int i;
 		for (i=row; i<=dw.GetRowCount(); i++)
-			dw.SetItemString(i, "SeqNo", i.toString());
+			dw.SetItemString(i, L"SeqNo", xstring(i));
 		return 1;
 	}				
 						
@@ -343,53 +363,53 @@
 		if (!m_layer) return 0;				
 		int h=m_layer.GetSheetIndex();
 		int nindex = h+1;
-		msxml::IXMLDOMElement n = maint::m_configDoc.selectSingleNode("//maint/group[@for='dwviev']/dwview["+nindex.toString()+"]");
-		string sname= n.selectSingleNode("@name").text;
-		string stype=n.selectSingleNode("@type").text;
-		if (stype == "dwtable")
+		KXMLDOMElement n = maint::m_configDoc.selectSingleNode(L"//maint/group[@for='dwviev']/dwview["+xstring(nindex)+L"]");
+		xstring sname= n.selectSingleNode(L"@name").text();
+		xstring stype=n.selectSingleNode(L"@type").text();
+		if (stype == L"dwtable")
 		{
 			int row;
 			int crow;
-			xdwtable dw_obj = this.GetControl(sname);
+			xdwtable dw_obj = GetControl(sname);
 			xdwtable dw = dw_obj.GetCurTable();
-			string dw_n=dw.GetDwName();
-			if(dw_n=="item" || dw_n=="item2" || dw_n=="item3" || dw_n=="item4")
+			xstring dw_n=dw.GetDwName();
+			if(dw_n==L"item" || dw_n==L"item2" || dw_n==L"item3" || dw_n==L"item4")
 			{
 				row = dw.InsertRow(-1);
-				if(dw_n=="item2" || dw_n=="item3" || dw_n=="item4")
+				if(dw_n==L"item2" || dw_n==L"item3" || dw_n==L"item4")
 				{								
 					OnChangeRowNo(dw,dw.GetRowCount());							
 				}	
 		
 			//alert(row.toString());
-				//dw.SetItemString(row,"Status","Y");
+				//dw.SetItemString(row,L"Status",L"Y");
 			}
-			if (dw_n=="item3ooo")
+			if (dw_n==L"item3ooo")
 			{
-				dw = dw_obj.FindDwTable("Party",0);
+				dw = dw_obj.FindDwTable(L"Party",0);
 				crow = dw.GetRow();
-				string scName;
+				xstring scName;
 				if (crow >0)
-					scName = dw.GetItemString(crow,"Name",0);
+					scName = dw.GetItemString(crow,L"Name");
 				row = dw.InsertRow(-1);
-				if (scName !="" )
-					dw.SetItemString(dw.GetRowCount(),"Name",scName);
+				if (scName !=L"" )
+					dw.SetItemString(dw.GetRowCount(),L"Name",scName);
 			}
-			if (dw_n=="Party")
+			if (dw_n==L"Party")
 			{
 				row = dw.InsertRow(-1);
 				crow = dw.GetRow();
 			//alert(crow.toString());
-				dw.SetItemString(crow,"loadpic","涓婁紶鍥剧墖");
-				dw.SetItemString(crow,"dispic","鏌ョ湅");
+				dw.SetItemString(crow,L"loadpic",L"涓婁紶鍥剧墖");
+				dw.SetItemString(crow,L"dispic",L"鏌ョ湅");
 			}
 		}
-		else if (stype=="dwgrid")
+		else if (stype==L"dwgrid")
 		{
 			xdwgrid dw_objx = new xdwgrid;
-			dw_objx = this.GetControl(sname);
+			dw_objx = GetControl(sname);
 			int xrow = dw_objx.InsertRow(-1);
-			//dw_objx.SetItemString(xrow,"Status","Y");
+			//dw_objx.SetItemString(xrow,L"Status",L"Y");
 		}
 		
 		return 1;
@@ -400,31 +420,31 @@
 		if (!m_layer) return 0;				
 		int h=m_layer.GetSheetIndex();
 		int nindex = h+1;
-		msxml::IXMLDOMElement n = maint::m_configDoc.selectSingleNode("//maint/group[@for='dwviev']/dwview["+nindex.toString()+"]");
-		string sname= n.selectSingleNode("@name").text;
-		string stype=n.selectSingleNode("@type").text;
-		if (stype=="dwtable")
+		KXMLDOMElement n = maint::m_configDoc.selectSingleNode(L"//maint/group[@for='dwviev']/dwview["+ xstring(nindex) +L"]");
+		xstring sname= n.selectSingleNode(L"@name").text();
+		xstring stype=n.selectSingleNode(L"@type").text();
+		if (stype==L"dwtable")
 		{
 			int row;
 			int crow;
-			xdwtable dw_obj = this.GetControl(sname);
+			xdwtable dw_obj = GetControl(sname);
 			xdwtable dw = dw_obj.GetCurTable();
-			string dw_n=dw.GetDwName();
-			if(dw_n=="item" || dw_n=="item2" || dw_n=="item3" || dw_n=="item4")
+			xstring dw_n=dw.GetDwName();
+			if(dw_n==L"item" || dw_n==L"item2" || dw_n==L"item3" || dw_n==L"item4")
 			{
 				row=dw.GetRow();
 				if (row == 1) row = 0;
 				crow = dw.InsertRow(row);
-				//dw.SetItemString(crow,"Status","Y");
+				//dw.SetItemString(crow,L"Status",L"Y");
 			}
-			if (dw_n=="Party")
+			if (dw_n==L"Party")
 			{
 				row=dw.GetRow();
 				if (row == 1) row = 0;
 				crow = dw.InsertRow(row);
 				crow = dw.GetRow();
-				dw.SetItemString(crow,"loadpic","涓婁紶鍥剧墖");
-				dw.SetItemString(crow,"dispic","鏌ョ湅");
+				dw.SetItemString(crow,L"loadpic",L"涓婁紶鍥剧墖");
+				dw.SetItemString(crow,L"dispic",L"鏌ョ湅");
 			}
 		}
 		return 1;
@@ -435,17 +455,17 @@
 		if (!m_layer) return 0;				
 		int h=m_layer.GetSheetIndex();
 		int nindex = h+1;
-		msxml::IXMLDOMElement n = maint::m_configDoc.selectSingleNode("//maint/group[@for='dwviev']/dwview["+nindex.toString()+"]");
-		string sname= n.selectSingleNode("@name").text;
-		string stype=n.selectSingleNode("@type").text;
-		if (stype=="dwtable")
+		KXMLDOMElement n = maint::m_configDoc.selectSingleNode(L"//maint/group[@for='dwviev']/dwview["+ xstring(nindex) +L"]");
+		xstring sname= n.selectSingleNode(L"@name").text();
+		xstring stype=n.selectSingleNode(L"@type").text();
+		if (stype==L"dwtable")
 		{
 			int row;
 			
-			xdwtable dw_obj = this.GetControl(sname);
+			xdwtable dw_obj = GetControl(sname);
 			xdwtable dw = dw_obj.GetCurTable();
-			string dw_n=dw.GetDwName();
-			if(dw_n=="item" || dw_n=="item2" || dw_n=="item3" || dw_n=="item4"|| dw_n=="Party")
+			xstring dw_n=dw.GetDwName();
+			if(dw_n==L"item" || dw_n==L"item2" || dw_n==L"item3" || dw_n==L"item4"|| dw_n==L"Party")
 			{
 				row=dw.GetRow();
 				//if(row != 1)
@@ -453,7 +473,7 @@
 					dw.DeleteRow(row);
 				//}
 			}
-			if (dw_n=="Party0")
+			if (dw_n==L"Party0")
 			{
 				row=dw.GetRow();
 				//if(row != 1)
@@ -465,70 +485,70 @@
 		return 1;
 	}
 
-	string onpartyadjust(string val)
+	xstring onpartyadjust(xstring val)
 	{
-		xml x = new xml;
-		x.setNativePointer(x.CreateInstance());
-		xaserverarg arg = new xaserverarg;
+		xml x;
+		
+		xaserverarg arg;
 		arg.setNativePointer(arg.CreateInstance());
-		arg.AddArg("content",val);
+		arg.AddArg(L"content",val);
 		//alert(val);
-		//string sguid = xdoc.selectSingleNode("@guid").text;
-		string suserid = xaserver::GetUserId();
-		string sdate = publiccode::GetCurrentDate();
-		//arg.AddArg("sguid",sguid);
-		arg.AddArg("suserid",suserid);
-		arg.AddArg("sdate",sdate);					
-		if (url::post("/sale/data/"+GetEntityName(1)+"/pref/partyadjust",arg.GetString(),x) != 1)
+		//xstring sguid = xdoc.selectSingleNode(L"@guid").text();
+		xstring suserid = xaserver::GetUserId();
+		xstring sdate = publiccode::GetCurrentDate();
+		//arg.AddArg(L"sguid",sguid);
+		arg.AddArg(L"suserid",suserid);
+		arg.AddArg(L"sdate",sdate);					
+		if (xurl::post(L"/sale/data/"+GetEntityName(1)+L"/pref/partyadjust",arg.GetString(),x) != 1)
 		{
-			alert(x.GetXmlDoc().text);
+			alert(x.text());
 			return val;
 		}else	
 		{
-			string s = x.GetXml();
+			xstring s = x.xml();
 		//alert(s);
 			return s;
 		}
 	}
 				
-	string GetEntityData(int pr)
+	xstring GetEntityData(LPARAM pr)
 	{
-		string val;		
-		xml x = new xml;
-		x.setNativePointer(x.CreateInstance());
-		msxml::IXMLDOMDocument xdoc = x.GetXmlDoc();
-		msxml::IXMLDOMNodeList nlist = maint::m_configDoc.SelectNodes("//maint/group[@for='dwviev']/dwview[@name !='dw_check' and @name !='dw_supgoods']");
+		xstring val;		
+		xml x ;
+		
+		KXMLDOMDocument xdoc = x;
+		KXMLDOMNodeList nlist = maint::m_configDoc.selectNodes(L"//maint/group[@for='dwviev']/dwview[@name !='dw_check' and @name !='dw_supgoods']");
 		int  index;
-		int  nlen = nlist.length;
+		int  nlen = nlist.length();
 		if(nlen>0)
 		{
 			for(index=0;index<nlen;index++)
 			{
-				msxml::IXMLDOMElement e  =  nlist.item(index);
-				string sname= e.selectSingleNode("@name").text;
-				string stype=e.selectSingleNode("@type").text;
-				if (stype=="dwtable")
+				KXMLDOMElement e  =  nlist.item(index);
+				xstring sname= e.selectSingleNode(L"@name").text();
+				xstring stype=e.selectSingleNode(L"@type").text();
+				if (stype==L"dwtable")
 				{
-					xdwtable dw_obj = this.GetControl(sname);
+					xdwtable dw_obj = GetControl(sname);
 					dw_obj.AcceptText();
 					if (index==0)
 					{
 						//Address
-						xml xdd = new xml;
-						xdd.setNativePointer(xdd.CreateInstance());
-						string bAddressID = ""+dw_base.GetItemString(1,"bAddressID");
-						if (bAddressID==" ")
+						xml xdd ;
+						
+						xstring bAddressID = L""+dw_base.GetItemString(1,L"bAddressID");
+						if (bAddressID==L" ")
 						{
-							dw_base.SetItemString(1,"bAddressID",publiccode::GetGuid());	
-							dw_base.SetItemString(1,"bAddressName","閭瘎鍦板潃");
-							dw_base.SetItemString(1,"bStatus","1");
-							dw_base.SetItemString(1,"bPrimaryFlag","N");
-							dw_base.SetItemString(1,"bIdentifyAddressFlag","N");
-							dw_base.DwUpdateAllTo(xdd.GetXmlDoc()); 
-							string bAddress = ""+dw_base.GetItemString(1,"bAddress");
-							if ( bAddress !="")
-								SetAttributeByaddress(xdd,"bAddress","update.new","1");	
-							xdoc = xdd.GetXmlDoc();
+							dw_base.SetItemString(1,L"bAddressID",publiccode::GetGuid());	
+							dw_base.SetItemString(1,L"bAddressName",L"閭瘎鍦板潃");
+							dw_base.SetItemString(1,L"bStatus",L"1");
+							dw_base.SetItemString(1,L"bPrimaryFlag",L"N");
+							dw_base.SetItemString(1,L"bIdentifyAddressFlag",L"N");
+							dw_base.DwUpdateAllTo(xdd); 
+							xstring bAddress = L""+dw_base.GetItemString(1,L"bAddress");
+							if ( bAddress !=L"")
+								SetAttributeByaddress(xdd,L"bAddress",L"update.new",L"1");	
+							KXMLDOMDocument	xdoc = xdd;
 						}
 						else
 							{dw_obj.DwUpdateAllTo(xdoc);
@@ -539,8 +559,8 @@
 						xml__ xchk = new xml__;
 						xchk.setNativePointer(xchk.CreateInstance());
 						dw_obj.DwUpdateAllTo(xchk.GetXmlDoc()); 
-						SetAttributeByaddress(xchk,"item3","update.modify","1");
-						SetAttributeByaddress(xchk,"isdeleted","update.modify","1");
+						SetAttributeByaddress(xchk,L"item3",L"update.modify",L"1");
+						SetAttributeByaddress(xchk,L"isdeleted",L"update.modify",L"1");
 						xdoc = xchk.GetXmlDoc();
 					}*/
 					else
@@ -548,7 +568,7 @@
 				}
 				else
 				{
-					xdwgrid dw_objx = this.GetControl(sname);
+					xdwgrid dw_objx = GetControl(sname);
 					dw_objx.AcceptText();
 					dw_objx.DwUpdateAllTo(xdoc);
 				}
@@ -563,13 +583,13 @@
 		return "";
 		/*xml__ x1 = new xml__;
 		x1.setNativePointer(x1.CreateInstance());
-		x1.LoadXml("<a/>");
-		msxml::IXMLDOMElement ele = x1.GetXmlDoc();				
-		var root = xdoc.getElementsByTagName("Name").item(0);
+		x1.LoadXml(L"<a/>");
+		KXMLDOMElement ele = x1.GetXmlDoc();				
+		var root = xdoc.getElementsByTagName(L"Name").item(0);
 		root.appendChild(ele);*/
-		val = xdoc.xml ;
+		val = xdoc.xml() ;
 		//alert(val);
-		val = onpartyadjust(xdoc.xml);
+		val = onpartyadjust(xdoc.xml());
 		//alert(val);
 		return val;
 	}
@@ -579,88 +599,88 @@
 		return 0;
 	}
 
-	int ProcessFlowAction0(string comdid, int pr)
+	int ProcessFlowAction0(xstring comdid, int pr)
 	{
-		string action = comdid.mid(comdid.find("action:",0)+7,9999);
-		xaserverarg arg = new xaserverarg ;
-		arg.setNativePointer(arg.CreateInstance());
-		xml x = new xml;
-		x.setNativePointer(xml ::CreateInstance());
+		xstring action = comdid.mid(comdid.find(L"action:",0)+7,9999);
+		xaserverarg& arg = *new xaserverarg;
+		
+		xml x ;
+	
 
-		string aurl = "/workflow/query/actioninfo/"+action;
+		xstring aurl = L"/workflow/query/actioninfo/"+action;
 
-		if(url::get(aurl, "", x) != 1)
+		if(xurl::get(aurl, L"", x) != 1)
 			return -1;
 		int nlen ;
 		int i = 0;
-		string name;
-		string worknode;
-		string how;
-		string state;
-		msxml::IXMLDOMElement e;
+		xstring name;
+		xstring worknode;
+		xstring how;
+		xstring state;
+		KXMLDOMElement e;
 		//鍙傛暟瑕佹眰
-		msxml::IXMLDOMNodeList nlist = x.GetXmlDoc().selectNodes("//params/param");
-		nlen = nlist.length;
+		KXMLDOMNodeList nlist = x.selectNodes(L"//params/param");
+		nlen = nlist.length();
 		for(i=0;	i<nlen;	i++)
 		{
 			e = nlist.item(i);
-			name = e.selectSingleNode("@name").text;
-			how = e.selectSingleNode("@how").text;
-			if(how=="EntityID")
+			name = e.selectSingleNode(L"@name").text();
+			how = e.selectSingleNode(L"@how").text();
+			if(how==L"EntityID")
 				arg.AddArg(name, GetEntityID(pr));
-			else if(how=="Entity" || how == "EntityData")
+			else if(how==L"Entity" || how == L"EntityData")
 				arg.AddArg(name, GetEntityData(pr));
 			//"CHeckAskMsg"
 			//"CHeckMsg"
 		}
-		arg.AddArg("action.entity",GetEntityName(pr));
+		arg.AddArg(L"action.entity",GetEntityName(pr));
 		//鍔ㄤ綔
-		if (x.GetXmlDoc().selectSingleNode("//view.action[1]"))
+		if (x.selectSingleNode(L"//view.action[1]"))
 		{
-			msxml::IXMLDOMElement n = x.GetXmlDoc().selectSingleNode("//view.action[1]");
+			KXMLDOMElement n = x.selectSingleNode(L"//view.action[1]");
 			if(n)
 			{
 				
-				name = n.selectSingleNode("@name").text;
-				//worknode = n.selectSingleNode("@worknode").text;
+				name = n.selectSingleNode(L"@name").text();
+				//worknode = n.selectSingleNode(L"@worknode").text();
 				worknode = GetEntityWorkNode(pr,name);
-				arg.AddArg("do",name);
+				arg.AddArg(L"do",name);
 
-				if(worknode !="")
+				if(worknode !=L"")
 				{
-					openUrl(worknode,arg);
+					openUrl(worknode,&arg);
 				}
 				else
 				{
-					alert("Warn: Please configure worknode for action "+ name +".");
+					alert(L"Warn: Please configure worknode for action "+ name +L".");
 					return 1;
 				}
 			} 
 		}
 		else
 		{
-			//url::post("/workflow/action/Supplier/bill.update",arg.GetString(),x);
-			xml x1 = new xml;
-			x1.setNativePointer(x1.CreateInstance());	
-			//if (url::post("/workflow/action/"+GetEntityName(pr)+"/"+action,arg.GetString(),x1) != 1)
-			if(url::post("/sale/data/SupplierV3/entity/owner/save", arg.GetString(),x)!=1)
+			//url::post(L"/workflow/action/Supplier/bill.update",arg.GetString(),x);
+			xml x1 ;
+				
+			//if (url::post(L"/workflow/action/"+GetEntityName(pr)+L"/"+action,arg.GetString(),x1) != 1)
+			if(xurl::post(L"/sale/data/SupplierV3/entity/owner/save", arg.GetString(),x)!=1)
 			{
-				if (x1.GetXmlDoc())
+				if (x1.xml())
 				{
-					string error = x1.GetXmlDoc().text;
+					xstring error = x1.text();
 					//alert(error);
 				}
 			}				
 			else
 			{
 				//alert(x1.GetXml());
-				if(x1.GetXmlDoc().selectSingleNode("error"))
+				if(x1.selectSingleNode(L"error"))
 				{
-					alert("淇濆瓨鍑洪敊2!");
+					alert(L"淇濆瓨鍑洪敊2!");
 					return 0;				
 				}
 			}
-			win32::MessageBox(GetHWND(),"淇濆瓨鎴愬姛锛�","鎻愮ず",0);	
+			MessageBoxW(GetHWND(),L"淇濆瓨鎴愬姛锛�",L"鎻愮ず",0);	
 			dw_base.ResetUpdateStatus();
 			dw_kpinfo.ResetUpdateStatus();
 			dw_visitp.ResetUpdateStatus();
@@ -671,27 +691,27 @@
 			
 	int r1()
 	{
-			msxml::IXMLDOMNodeList nlist = maint::m_configDoc.SelectNodes("//maint/group[@for='dwviev']/dwview");
+			KXMLDOMNodeList nlist = maint::m_configDoc.selectNodes(L"//maint/group[@for='dwviev']/dwview");
 			int  index;
-			int  nlen = nlist.length;
+			int  nlen = nlist.length();
 			if(nlen>0)
 			{
 				for(index=0;index<nlen;index++)
 				{
-					msxml::IXMLDOMElement e  =  nlist.item(index);
-					string sname= e.selectSingleNode("@name").text;
-					string stype=e.selectSingleNode("@type").text;
-					if (stype=="dwtable")
+					KXMLDOMElement e  =  nlist.item(index);
+					xstring sname= e.selectSingleNode(L"@name").text();
+					xstring stype=e.selectSingleNode(L"@type").text();
+					if (stype==L"dwtable")
 					{
-						xdwtable dw_obj = this.GetControl(sname);
+						xdwtable dw_obj = GetControl(sname);
 					
-						xaserverarg arg = new xaserverarg;
-						arg.setNativePointer(arg.CreateInstance());		
-						arg.AddArg("EntityID", this.GetEntityID(1)); 
+						xaserverarg& arg = *new xaserverarg;
+								
+						arg.AddArg(L"EntityID", GetEntityID(1)); 
 					
-						xml x1 = new xml;
-						x1.setNativePointer(xml ::CreateInstance());
-						string dataUrl = "/sale/data/"+GetEntityName(1)+"/entity/maint" ;
+						xml x1 ;
+						
+						xstring dataUrl = L"/sale/data/"+GetEntityName(1)+L"/entity/maint" ;
 						getUrl(dataUrl,arg.GetString(),x1);
 						dw_obj.Retrieve(x1);
 						
@@ -705,26 +725,26 @@
 	
 	int r2()
 	{		
-			xml x = new xml;
-			x.setNativePointer(x.CreateInstance());
-			msxml::IXMLDOMDocument xdoc = x.GetXmlDoc();
+			xml x;
+			
+			KXMLDOMDocument xdoc = x;
 		
 			//dw_base.DwUpdateAllTo(xdoc);
-			msxml::IXMLDOMNodeList nlist = maint::m_configDoc.SelectNodes("//maint/group[@for='dwviev']/dwview");
+			KXMLDOMNodeList nlist = maint::m_configDoc.selectNodes(L"//maint/group[@for='dwviev']/dwview");
 			int  index;
-			int  nlen = nlist.length;
+			int  nlen = nlist.length();
 			if(nlen>0)
 			{
 				for(index=0;index<nlen;index++)
 				{
-					msxml::IXMLDOMElement e  =  nlist.item(index);
-					string sname= e.selectSingleNode("@name").text;
-					string stype=e.selectSingleNode("@type").text;
-					if (stype=="dwtable")
+					KXMLDOMElement e  =  nlist.item(index);
+					xstring sname= e.selectSingleNode(L"@name").text();
+					xstring stype=e.selectSingleNode(L"@type").text();
+					if (stype==L"dwtable")
 					{
-						xdwtable dw_obj = this.GetControl(sname);
+						xdwtable dw_obj = GetControl(sname);
 						dw_obj.DwUpdateAllToDiff(xdoc);
-						m_diffstr = xdoc.xml;
+						m_diffstr = xdoc.xml();
 						//alert(m_diffstr);
 						break;
 					}
@@ -736,26 +756,26 @@
 	
 	int r3()
 	{
-			if(m_diffstr=="") return 1;
-			xml x = new xml;
-			x.setNativePointer(x.CreateInstance());
-			x.LoadXml(m_diffstr);
-			msxml::IXMLDOMDocument xdoc = x.GetXmlDoc();
+			if(m_diffstr==L"") return 1;
+			xml x ;
+			
+			x.loadXML(m_diffstr);
+			KXMLDOMDocument xdoc = x;
 		
 			//dw_base.DwUpdateAllTo(xdoc);
-			msxml::IXMLDOMNodeList nlist = maint::m_configDoc.SelectNodes("//maint/group[@for='dwviev']/dwview");
+			KXMLDOMNodeList nlist = maint::m_configDoc.selectNodes(L"//maint/group[@for='dwviev']/dwview");
 			int  index;
-			int  nlen = nlist.length;
+			int  nlen = nlist.length();
 			if(nlen>0)
 			{
 				for(index=0;index<nlen;index++)
 				{
-					msxml::IXMLDOMElement e  =  nlist.item(index);
-					string sname= e.selectSingleNode("@name").text;
-					string stype=e.selectSingleNode("@type").text;
-					if (stype=="dwtable")
+					KXMLDOMElement e  =  nlist.item(index);
+					xstring sname= e.selectSingleNode(L"@name").text();
+					xstring stype=e.selectSingleNode(L"@type").text();
+					if (stype==L"dwtable")
 					{
-						xdwtable dw_obj = this.GetControl(sname);
+						xdwtable dw_obj = GetControl(sname);
 						dw_obj.RetrieveDiff(xdoc);
 						dw_obj.Redraw();
 						break;
@@ -768,9 +788,9 @@
 					
 	int test()
 	{
-		xml x = new xml;
-		x.setNativePointer(x.CreateInstance());
-		dw_kpinfo.DwUpdateAllTo(x.GetXmlDoc());
+		xml x ;
+		
+		dw_kpinfo.DwUpdateAllTo(x);
 		//dw_visitp.dwUpdateAllTo(x.GetXmlDoc());
 		//dw_kpinfo.ClearAdvanceString(1,1);
 		//dw_kpinfo.ClearNoteString(1,1);
@@ -780,13 +800,13 @@
 		//dw_kpinfo.ExpandMarginRow(2,1);
 		//dw_kpinfo.ExpandRow(2,3);
 		//dw_kpinfo.GetDwType(); ???
-		//string s = dw_kpinfo.GetDwXPath(); //Supplier
-		//msxml::IXMLDOMElement e = dw_kpinfo.GetElement(); //alert(e.xml); <xcell state="run" name="dw_kpinfo"/>
-		//string s = dw_kpinfo.GetGuid(1);
-		//string s = dw_kpinfo.GetHtml(); ???
+		//xstring s = dw_kpinfo.GetDwXPath(); //Supplier
+		//KXMLDOMElement e = dw_kpinfo.GetElement(); //alert(e.xml); <xcell state=L"run" name=L"dw_kpinfo"/>
+		//xstring s = dw_kpinfo.GetGuid(1);
+		//xstring s = dw_kpinfo.GetHtml(); ???
 		//int i = dw_kpinfo.GetId();
 		//int i = dw_kpinfo.GetXNode();
-		//dw_kpinfo.SetGuid(1,"5CF56D30-C02C-4CC0-971B-57894236816A");
+		//dw_kpinfo.SetGuid(1,L"5CF56D30-C02C-4CC0-971B-57894236816A");
 	}
 
 	int OnMoveup()
@@ -796,21 +816,21 @@
 		if (!m_layer) return 0;				
 		int h=m_layer.GetSheetIndex();
 		int nindex = h+1;
-		msxml::IXMLDOMElement n = maint::m_configDoc.selectSingleNode("//maint/group[@for='dwviev']/dwview["+nindex.toString()+"]");
-		string sname= n.selectSingleNode("@name").text;
-		string stype=n.selectSingleNode("@type").text;
-		if (stype=="dwtable")
+		KXMLDOMElement n = maint::m_configDoc.selectSingleNode(L"//maint/group[@for='dwviev']/dwview["+xstring(nindex)+L"]");
+		xstring sname= n.selectSingleNode(L"@name").text();
+		xstring stype=n.selectSingleNode(L"@type").text();
+		if (stype==L"dwtable")
 		{
-			xdwtable dw_obj = this.GetControl(sname);
+			xdwtable dw_obj = GetControl(sname);
 			xdwtable dw = dw_obj.GetCurTable();
-			string dw_n=dw.GetDwName();
-			if(dw_n=="item3")
+			xstring dw_n=dw.GetDwName();
+			if(dw_n==L"item3")
 			{
 				int row=dw.GetRow();
 				if (row == 1) row = 0;
 				int crow = dw.InsertRow(row);
 				//dw.
-				//dw.SetItemString(crow,"Status","Y");
+				//dw.SetItemString(crow,L"Status",L"Y");
 			}
 		}
 		return 1;
@@ -822,26 +842,26 @@
 	
 	int xxx()
 	{
-		//msxml::IXMLDOMElement xframeElement =  GetElement();
-		//msxml::IXMLDOMNode xpage = xframeElement.selectSingleNode("//xpage");
+		//KXMLDOMElement xframeElement =  GetElement();
+		//KXMLDOMNode xpage = xframeElement.selectSingleNode(L"//xpage");
 		//alert(xframeElement.xml);					
-		/*string xfNodeAgentArea  = "layers";
+		/*xstring xfNodeAgentArea  = L"layers";
 		xnode__ anode = GetAgentNode(xfNodeAgentArea);
-		msxml::IXMLDOMElement xframeElement =  GetElement();
+		KXMLDOMElement xframeElement =  GetElement();
 		alert(anode.GetXml());
-		msxml::IXMLDOMNode layers = xframeElement.selectSingleNode("//layers");
-		msxml::IXMLDOMNodeList nlist;
+		KXMLDOMNode layers = xframeElement.selectSingleNode(L"//layers");
+		KXMLDOMNodeList nlist;
 		int  index;
 		int  nlen;
-		msxml::IXMLDOMElement ele;
+		KXMLDOMElement ele;
 		if(layers)
 		{
-			nlist = layers.SelectNodes(".//layer");
-			nlen = nlist.length;
-		alert("nlen=",nlen.toString());
+			nlist = layers.SelectNodes(L".//layer");
+			nlen = nlist.length();
+		alert(L"nlen=L",nlen.toString());
 		}
 
-		//string tools;
+		//xstring tools;
 		//SetAgentNodeContent(anode, tools);*/
 		return 1;
 	}
@@ -850,24 +870,24 @@
 	{
 		int rec =OnPreSave();
 		if (rec== -1)	return 0;
-		ProcessFlowAction0("action:bill.update",1);
+		ProcessFlowAction0(L"action:bill.update",1);
 		return 1;
 	}
-	int PreOnCmdDispatch(string comdid)
+	int PreOnCmdDispatch(xstring comdid)
 	{
-		if(comdid=="action:xxx") return xxx();
-		if(comdid=="retrieve") return r1();
-		if(comdid=="retrievediff") return r3();
-		if(comdid=="updatediff") return r2();
-		if(comdid=="test") return test();
+		if(comdid==L"action:xxx") return xxx();
+		if(comdid==L"retrieve") return r1();
+		if(comdid==L"retrievediff") return r3();
+		if(comdid==L"updatediff") return r2();
+		if(comdid==L"test") return test();
 				
-		//<action id="bill.update" caption="淇濆瓨"  scene="maint"/>
-		if(comdid.find("action:bill.update",0)>=0) 
+		//<action id=L"bill.update" caption=L"淇濆瓨"  scene=L"maint"/>
+		if(comdid.find(L"action:bill.update",0)>=0) 
 		{
-			string suserid = xaserver::GetUserId();
+			xstring suserid = xaserver::GetUserId();
 			PUser pp = publiccode::GetUser(suserid);
-			string userno = pp.no;
-			if(userno !="admin")
+			xstring userno = pp.no;
+			if(userno !=L"admin")
 			{
 				int rec =OnPreSave();
 				if (rec== -1)	return 0;//杩斿洖0鈥斺�斾笉鍦ㄦ墽琛屼互涓嬩唬鐮侊紱杩斿洖鍏朵粬鈥斺�旀墽琛屼互涓嬩唬鐮併��
@@ -875,19 +895,21 @@
 			ProcessFlowAction0(comdid,1);
 			return 1;
 		}
-		if(comdid.find("action:bill.addrow",0)>=0) OnAddRow();
-		if(comdid.find("action:bill.insertrow",0)>=0) OnInsertRow();
-		if(comdid.find("action:bill.deleterow",0)>=0) OnDeleteRow();
-		if(comdid.find("action:bill.moveup",0)>=0) OnMoveup();
-		if(comdid.find("action:bill.movedown",0)>=0) OnMovedown();
+		if(comdid.find(L"action:bill.addrow",0)>=0) OnAddRow();
+		if(comdid.find(L"action:bill.insertrow",0)>=0) OnInsertRow();
+		if(comdid.find(L"action:bill.deleterow",0)>=0) OnDeleteRow();
+		if(comdid.find(L"action:bill.moveup",0)>=0) OnMoveup();
+		if(comdid.find(L"action:bill.movedown",0)>=0) OnMovedown();
 		
 		return 1;
 	}
 
-	int OnDoubleClicked(ref TNotifyEvent evt,int p)
+	int OnDoubleClicked(TEvent* evt,int p)
 	{
-		ref DWNMHDR  hdr = evt.pnmh;
-		int row = hdr.row;
+		DWNMHDR* hdr = (DWNMHDR*)evt->notify.pnmh;
+		int row = hdr->row;
+		
+		
 		/*if(row < 1 || row > list::dw_list.GetRowCount()) 
 			return 1;
 		
@@ -896,186 +918,193 @@
 		int i;
 		for (i=0; i < s; i++){
 			combobox cb = new combobox;
-			cb.setNativePointer(this.GetControl("value"+i.ToString()));
+			cb.setNativePointer(this.GetControl(L"value"+i.ToString()));
 			if(hwnd == cb.GetId())
 				break;
 		}*/					
 		return 1;
 	}
 	
-	int OnItemChangedkp(ref TNotifyEvent evt,int p)
+	int OnItemChangedkp(TEvent* evt,int p)
 	{
-		ref DWNMHDR  hdr = evt.pnmh;
-		string colname=hdr.colname;
-		string coldata = hdr.data;	
-		int row = hdr.row;
+		DWNMHDR* hdr = (DWNMHDR*)evt->notify.pnmh;
+		xstring colname = hdr->colname;
+		xstring value = hdr->data;
+		int row = hdr->row;
 		
-		xdwtable dw = dw_kpinfo.FindDwTable("item3",0);
+		
+		xdwtable dw = dw_kpinfo.FindDwTable(L"item3",0);
 		if (dw)
 		{
 			row=dw.GetRow();
-			string sdate = publiccode::GetCurrentDate();
-			dw.SetItemString(row,"ModifyDate",sdate);
+			xstring sdate = publiccode::GetCurrentDate();
+			dw.SetItemString(row,L"ModifyDate",sdate);
 		}
 		
 	}
 	
-	int OnItemChanged3(ref TNotifyEvent evt,int p)
+	int OnItemChanged3(TEvent* evt,int p)
 	{
-		ref DWNMHDR  hdr = evt.pnmh;
-		string colname=hdr.colname;
-		string coldata = hdr.data;	
-		int row = hdr.row;
-		if(colname=="DeveloperID")
+		
+		DWNMHDR* hdr = (DWNMHDR*)evt->notify.pnmh;
+		xstring colname = hdr->colname;
+		xstring coldata = hdr->data;
+		xstring value = hdr->data;
+		int row = hdr->row;
+
+		if(colname==L"DeveloperID")
 		{
 			xml x = new xml;
-			x.setNativePointer(xml ::CreateInstance());
-			xaserverarg arg = new xaserverarg;
+			
+			xaserverarg arg ;
 			arg.setNativePointer(arg.CreateInstance());
-			arg.AddArg("guid",coldata);			
-			if (url::get("/sale/data/"+GetEntityName(1)+"/pref/getAssignment",arg.GetString(),x) == 1)
+			arg.AddArg(L"guid",coldata);			
+			if (xurl::get(L"/sale/data/"+GetEntityName(1)+L"/pref/getAssignment",arg.GetString(),x) == 1)
 			{
-				msxml::IXMLDOMElement e=x.GetXmlDoc().documentElement;
-				string sOrgID = e.selectSingleNode("OrgID").text;
-				string sOrgName = e.selectSingleNode("OrgName").text;
-				dw_basegy.SetItemString(1,"devOrgID",sOrgID);
-				dw_basegy.SetItemDisplayString(1,"devOrgID",sOrgName);
+				KXMLDOMElement e=x.documentElement();
+				xstring sOrgID = e.selectSingleNode(L"OrgID").text();
+				xstring sOrgName = e.selectSingleNode(L"OrgName").text();
+				dw_basegy.SetItemString(1,L"devOrgID",sOrgID);
+				dw_basegy.SetItemDisplayString(1,L"devOrgID",sOrgName);
 			}
 		}
-		if(colname=="CreatorID")
+		if(colname==L"CreatorID")
 		{
-			xml x2 = new xml;
-			x2.setNativePointer(xml ::CreateInstance());
-			xaserverarg arg2 = new xaserverarg;
+			xml x2 ;
+			
+			xaserverarg arg2 ;
 			arg2.setNativePointer(arg2.CreateInstance());
-			arg2.AddArg("guid",coldata);			
-			if (url::get("/sale/data/"+GetEntityName(1)+"/pref/getAssignment",arg2.GetString(),x2) == 1)
+			arg2.AddArg(L"guid",coldata);			
+			if (xurl::get(L"/sale/data/"+GetEntityName(1)+L"/pref/getAssignment",arg2.GetString(),x2) == 1)
 			{
-				msxml::IXMLDOMElement e2=x2.GetXmlDoc().documentElement;
-				string sOrgID2 = e2.selectSingleNode("OrgID").text;
-				string sOrgName2 = e2.selectSingleNode("OrgName").text;
-				dw_basegy.SetItemString(1,"OrgID",sOrgID2);
-				dw_basegy.SetItemDisplayString(1,"OrgID",sOrgName2);
+				KXMLDOMElement e2=x2.documentElement();
+				xstring sOrgID2 = e2.selectSingleNode(L"OrgID").text();
+				xstring sOrgName2 = e2.selectSingleNode(L"OrgName").text();
+				dw_basegy.SetItemString(1,L"OrgID",sOrgID2);
+				dw_basegy.SetItemDisplayString(1,L"OrgID",sOrgName2);
 			}
 		}
 		return 1;
 	}
 		
-	int OnItemChanged(ref TNotifyEvent evt,int p)
+	int OnItemChanged(TEvent* evt, int p)
 	{
-		ref DWNMHDR  hdr = evt.pnmh;
-		string colname=hdr.colname;
-		string coldata = hdr.data;	
-		int row = hdr.row;
-		if(colname=="DeveloperID")
+
+		DWNMHDR* hdr = (DWNMHDR*)evt->notify.pnmh;
+		xstring colname = hdr->colname;
+		xstring coldata = hdr->data;
+		xstring value = hdr->data;
+		int row = hdr->row;
+
+		if(colname==L"DeveloperID")
 		{
-			xml x = new xml;
-			x.setNativePointer(xml ::CreateInstance());
-			xaserverarg arg = new xaserverarg;
+			xml x ;
+			
+			xaserverarg arg;
 			arg.setNativePointer(arg.CreateInstance());
-			arg.AddArg("guid",coldata);			
-			if (url::get("/sale/data/"+GetEntityName(1)+"/pref/getAssignment",arg.GetString(),x) == 1)
+			arg.AddArg(L"guid",coldata);			
+			if (xurl::get(L"/sale/data/"+GetEntityName(1)+L"/pref/getAssignment",arg.GetString(),x) == 1)
 			{
-				msxml::IXMLDOMElement e=x.GetXmlDoc().documentElement;
-				string sOrgID = e.selectSingleNode("OrgID").text;
-				string sOrgName = e.selectSingleNode("OrgName").text;
-				dw_base.SetItemString(1,"devOrgID",sOrgID);
-				dw_base.SetItemDisplayString(1,"devOrgID",sOrgName);
+				KXMLDOMElement e=x.documentElement();
+				xstring sOrgID = e.selectSingleNode(L"OrgID").text();
+				xstring sOrgName = e.selectSingleNode(L"OrgName").text();
+				dw_base.SetItemString(1,L"devOrgID",sOrgID);
+				dw_base.SetItemDisplayString(1,L"devOrgID",sOrgName);
 			}
 		}
-		if(colname=="CreatorID")
+		if(colname==L"CreatorID")
 		{
-			xml x2 = new xml;
-			x2.setNativePointer(xml ::CreateInstance());
-			xaserverarg arg2 = new xaserverarg;
+			xml x2;
+			
+			xaserverarg arg2 ;
 			arg2.setNativePointer(arg2.CreateInstance());
-			arg2.AddArg("guid",coldata);			
-			if (url::get("/sale/data/"+GetEntityName(1)+"/pref/getAssignment",arg2.GetString(),x2) == 1)
+			arg2.AddArg(L"guid",coldata);			
+			if (xurl::get(L"/sale/data/"+GetEntityName(1)+L"/pref/getAssignment",arg2.GetString(),x2) == 1)
 			{
-				msxml::IXMLDOMElement e2=x2.GetXmlDoc().documentElement;
-				string sOrgID2 = e2.selectSingleNode("OrgID").text;
-				string sOrgName2 = e2.selectSingleNode("OrgName").text;
-				dw_base.SetItemString(1,"OrgID",sOrgID2);
-				dw_base.SetItemDisplayString(1,"OrgID",sOrgName2);
+				KXMLDOMElement e2=x2.documentElement();
+				xstring sOrgID2 = e2.selectSingleNode(L"OrgID").text();
+				xstring sOrgName2 = e2.selectSingleNode(L"OrgName").text();
+				dw_base.SetItemString(1,L"OrgID",sOrgID2);
+				dw_base.SetItemDisplayString(1,L"OrgID",sOrgName2);
 			}
 		}
-		if(colname=="isdeleted")
+		if(colname==L"isdeleted")
 		{
 			//xml xchk = new xml;
 			//xchk.setNativePointer(xchk.CreateInstance());		
 			//var xdoc = xchk.GetXmlDoc();
 		   // dw_kpinfo.DwUpdateAllTo(xdoc);
-			//SetAttributeByxml(xchk,"isdeleted","update.modify","1");
-			//dw_kpinfo.SetColumnProp("isdeleted","update.modify","1");
+			//SetAttributeByxml(xchk,L"isdeleted",L"update.modify",L"1");
+			//dw_kpinfo.SetColumnProp(L"isdeleted",L"update.modify",L"1");
 			//xdwtable dw = new xdwtable;
-			//dw.setNativePointer(dw_kpinfo.FindDwTable("item3",0));
-			//dw.SetItemString(row,"isdeleted",coldata);
+			//dw.setNativePointer(dw_kpinfo.FindDwTable(L"item3",0));
+			//dw.SetItemString(row,L"isdeleted",coldata);
 		}
-		if(colname == "ProvinceCode" || colname == "City" || colname == "District")
+		if(colname == L"ProvinceCode" || colname == L"City" || colname == L"District")
 		{
-			if(colname == "ProvinceCode")
+			if(colname == L"ProvinceCode")
 			{
-				dw_base.SetItemString(row,"City","");
-				dw_base.SetItemString(row,"District","");
-				dw_base.SetItemDisplayString(row,"City","");
-				dw_base.SetItemDisplayString(row,"District","");
+				dw_base.SetItemString(row,L"City",L"");
+				dw_base.SetItemString(row,L"District",L"");
+				dw_base.SetItemDisplayString(row,L"City",L"");
+				dw_base.SetItemDisplayString(row,L"District",L"");
 			}
-			if(colname == "City")
+			if(colname == L"City")
 			{
-				dw_base.SetItemString(row,"District","");
-				dw_base.SetItemDisplayString(row,"District","");
+				dw_base.SetItemString(row,L"District",L"");
+				dw_base.SetItemDisplayString(row,L"District",L"");
 			}
-			string provinceCode = dw_base.GetItemDisplayString(row,"ProvinceCode");
-			string city = dw_base.GetItemDisplayString(row,"City");
-			string district = dw_base.GetItemDisplayString(row,"District");
-			dw_base.SetItemString(row,"Address",provinceCode+city+district);
-			dw_base.SetItemString(row,"bAddress",provinceCode+city+district);
+			xstring provinceCode = dw_base.GetItemDisplayString(row,L"ProvinceCode");
+			xstring city = dw_base.GetItemDisplayString(row,L"City");
+			xstring district = dw_base.GetItemDisplayString(row,L"District");
+			dw_base.SetItemString(row,L"Address",provinceCode+city+district);
+			dw_base.SetItemString(row,L"bAddress",provinceCode+city+district);
 		}
-		if(colname == "Address")
+		if(colname == L"Address")
 		{
-			dw_base.SetItemString(row,"bAddress",dw_base.GetItemString(1,"Address"));
+			dw_base.SetItemString(row,L"bAddress",dw_base.GetItemString(1,L"Address"));
 		}
 
-		xdwtable dw = dw_base.FindDwTable("Supplier",0);
+		xdwtable dw = dw_base.FindDwTable(L"Supplier",0);
 		if (dw)
 		{
-			string suserid = xaserver::GetUserId();//publiccode::GetUserInfo().id;
-			string susername = publiccode::GetUser(suserid).name;
-			string sdate = publiccode::GetCurrentDate();
-			dw.SetItemString(1,"ModifierID",suserid);//Party
-			dw.SetItemDisplayString(1,"ModifierID",susername);//Party
-			dw.SetItemString(1,"ModifyDate",sdate);
+			xstring suserid = xaserver::GetUserId();//publiccode::GetUserInfo().id;
+			xstring susername = publiccode::GetUser(suserid).name;
+			xstring sdate = publiccode::GetCurrentDate();
+			dw.SetItemString(1,L"ModifierID",suserid);//Party
+			dw.SetItemDisplayString(1,L"ModifierID",susername);//Party
+			dw.SetItemString(1,L"ModifyDate",sdate);
 		}
 		
 		return 1;
 	}
 			
 	//---------
-	int UpLoad(string name)
+	int UpLoad(xstring name)
 	{
-		string str = name.mid(0,2);
+		xstring str = name.mid(0,2);
 		str = str.upper();
 		//alert(str);
-		int ret1 = xaserver::Upload("supplier"+str, name+".jpg", this.GetHWND(),"",false);
+		int ret1 = xaserver::Upload(L"supplier"+str, name+L".jpg", GetHWND(),L"",false);
 		//alert(ret1);
 		return ret1;
 	}									
 	
-	int OnkpItemClick(ref TNotifyEvent evt,int p)
+	int OnkpItemClick(TEvent* evt, int p)
 	{
-		xdwtable dw = dw_kpinfo.FindDwTable("Party",0);
+		xdwtable dw = dw_kpinfo.FindDwTable(L"Party",0);
 		/*xdwtable__ dw1 = new xdwtable__;
-		dw1.setNativePointer(dw_base.FindDwTable("item3",0));	*/						
-		ref DWNMHDR  hdr = evt.pnmh;
-		string value = hdr.data;
+		dw1.setNativePointer(dw_base.FindDwTable(L"item3",0));	*/						
+		DWNMHDR* hdr = (DWNMHDR*)evt->notify.pnmh;
+		xstring value = hdr->data;
 		int row = dw.GetRow();// hdr.row;
-		string xrow = row.toString();
-		xaserverarg arg=new xaserverarg;
-		arg.setNativePointer(arg.CreateInstance());
+		xstring xrow = xstring(row);
+		xaserverarg& arg=*new xaserverarg;
 		
-		if(value == "涓婁紶鍥剧墖")
+		
+		if(value == L"涓婁紶鍥剧墖")
 		{
-			string strguid = publiccode::GetGuid();
+			xstring strguid = publiccode::GetGuid();
 			//alert(strguid);
 			int ret1 =UpLoad(strguid);
 			if(ret1  == -1)
@@ -1083,59 +1112,59 @@
 			
 			if(ret1  == 0)
 			{
-				alert("涓婁紶鍥剧墖澶辫触");
+				alert(L"涓婁紶鍥剧墖澶辫触");
 				return -1;
 			}
 			else
 			{	
-				alert("涓婁紶鍥剧墖鎴愬姛");
-				string strimage=dw.GetItemString(row,"ImageList1");
+				alert(L"涓婁紶鍥剧墖鎴愬姛");
+				xstring strimage=dw.GetItemString(row,L"ImageList1");
 				//alert(strimage);					
-				if(strimage=="")
-					strimage="<ImageList></ImageList>";
-				xml y=new xml;
-				y.setNativePointer(xml::CreateInstance());
-				y.LoadXml(strimage);
+				if(strimage==L"")
+					strimage=L"<ImageList></ImageList>";
+				xml y;
+				
+				y.loadXML(strimage);
 
-				msxml::IXMLDOMElement ele= y.GetXmlDoc().documentElement;
+				KXMLDOMElement ele= y.documentElement();
 
-				xml x=new xml;
-				x.setNativePointer(xml::CreateInstance());
-				string xx = "<ImageList><image>"+strguid+".jpg</image></ImageList>";
-				x.LoadXml(xx);
-				msxml::IXMLDOMElement e=  x.GetXmlDoc().selectSingleNode("//image");		
+				xml x;
+				
+				xstring xx = L"<ImageList><image>"+strguid+L".jpg</image></ImageList>";
+				x.loadXML(xx);
+				KXMLDOMElement e=  x.selectSingleNode(L"//image");		
 				ele.appendChild(e);					
-				dw.SetItemString(row,"ImageList1",ele.xml);
+				dw.SetItemString(row,L"ImageList1",ele.xml());
 				//dw.Redraw();
 			}	
 		}
-		if(value == "鏌ョ湅")
+		if(value == L"鏌ョ湅")
 		{		
-			arg.AddArg("src",dw.GetItemString(row,"ImageList1"));
-			int pa = arg.getNativePointer();
-			openUrl("/sale/view/"+GetEntityName(1)+"/xpage/supplierattachment/picture", pa);
-			//alert(arg.GetArgString("src"));
-			dw.SetItemString(row,"ImageList1",arg.GetArgString("src"));
+			arg.AddArg(L"src",dw.GetItemString(row,L"ImageList1"));
+			
+			openUrl(L"/sale/view/" + GetEntityName(1) + L"/xpage/supplierattachment/picture", &arg);
+			//alert(arg.GetArgString(L"src"));
+			dw.SetItemString(row,L"ImageList1",arg.GetArgString(L"src"));
 		}
 		return 1;
 	}
 
-	int OnItemClick(ref TNotifyEvent evt,int p)
+	int OnItemClick(TEvent* evt, int p)
 	{
 		ref DWNMHDR  hdr1 = trust(evt.pnmh as ref DWNMHDR);
-		string colname1= hdr1.colname;
+		xstring colname1= hdr1.colname;
 		
-		ref DWNMHDR  hdr = evt.pnmh;
-		string value = hdr.data;
+		DWNMHDR* hdr = (DWNMHDR*)evt->notify.pnmh;
+		xstring value = hdr->data;
 		//alert(value);
-		//xdwtable dw = dw_base.FindDwTable("item2",0);
-		//xdwtable dw1 = dw_base.FindDwTable("item3",0);							
-		xaserverarg arg=new xaserverarg;
-		arg.setNativePointer(arg.CreateInstance());
+		//xdwtable dw = dw_base.FindDwTable(L"item2",0);
+		//xdwtable dw1 = dw_base.FindDwTable(L"item3",0);							
+		xaserverarg& arg=*new xaserverarg;
+	
 		
-		/*if(value == "涓婁紶闄勪欢")
+		/*if(value == L"涓婁紶闄勪欢")
 		{
-			string strguid = publiccode::GetGuid();
+			xstring strguid = publiccode::GetGuid();
 			//alert(strguid);
 			int ret1 = UpLoad(strguid);
 			if(ret1  == -1)
@@ -1143,110 +1172,110 @@
 			
 			if(ret1  == 0)
 			{
-				alert("涓婁紶闄勪欢澶辫触");
+				alert(L"涓婁紶闄勪欢澶辫触");
 				return -1;
 			}
 			else
 			{	
-				alert("涓婁紶闄勪欢鎴愬姛");
-				string strimage=dw_base.GetItemString(1,"ImageList1");
+				alert(L"涓婁紶闄勪欢鎴愬姛");
+				xstring strimage=dw_base.GetItemString(1,L"ImageList1");
 				//alert(strimage);					
-				if(strimage=="")
-					strimage="<ImageList></ImageList>";
+				if(strimage==L"")
+					strimage=L"<ImageList></ImageList>";
 				xml y=new xml;
 				y.setNativePointer(xml::CreateInstance());
 				y.LoadXml(strimage);
 
-				msxml::IXMLDOMElement ele= y.GetXmlDoc().documentElement;
+				KXMLDOMElement ele= y.GetXmlDoc().documentElement;
 			
 				xml x=new xml;
 				x.setNativePointer(xml::CreateInstance());
-				string xx = "<ImageList><image>"+strguid+".jpg</image></ImageList>";
+				xstring xx = L"<ImageList><image>"+strguid+L".jpg</image></ImageList>";
 				x.LoadXml(xx);
-				msxml::IXMLDOMElement e=  x.GetXmlDoc().selectSingleNode("//image");							
+				KXMLDOMElement e=  x.GetXmlDoc().selectSingleNode(L"//image");							
 				ele.appendChild(e);					
-				dw_base.SetItemString(1,"ImageList1",ele.xml);
+				dw_base.SetItemString(1,L"ImageList1",ele.xml);
 				dw_base.Redraw();
 				//alert(ele.xml);
 			}	
 		}
-		if(value == "鏌ョ湅")
+		if(value == L"鏌ョ湅")
 		{	
-			arg.AddArg("src",dw_base.GetItemString(1,"ImageList1"));
-			//alert(dw_base.GetItemString(1,"ImageList1"));
+			arg.AddArg(L"src",dw_base.GetItemString(1,L"ImageList1"));
+			//alert(dw_base.GetItemString(1,L"ImageList1"));
 			int pa = arg.getNativePointer();
 			//alert(GetEntityName(1));
-			openUrl("/sale/view/"+GetEntityName(1)+"/xpage/supplierattachment/picture", pa);
-			//alert(arg.GetArgString("src"));
+			openUrl(L"/sale/view/"+GetEntityName(1)+L"/xpage/supplierattachment/picture", pa);
+			//alert(arg.GetArgString(L"src"));
 			arg.setNativePointer(pa);	
-			dw_base.SetItemString(1,"ImageList1",arg.GetArgString("src"));
+			dw_base.SetItemString(1,L"ImageList1",arg.GetArgString(L"src"));
 		}*/
-		/*else if(value == "浜у搧淇℃伅")
+		/*else if(value == L"浜у搧淇℃伅")
 		{					
-			int start=dw_base.GetCellRowFromRowColumn(1,dw_base.GetColumnIndex("MainProducts"));				
+			int start=dw_base.GetCellRowFromRowColumn(1,dw_base.GetColumnIndex(L"MainProducts"));				
 			dw_base.ExpandCellRow(start,start + dw.GetRowCount() +1);
 		}
-		else if(value == "璁惧浜ц兘")
+		else if(value == L"璁惧浜ц兘")
 		{	
-			int start1=dw_base.GetCellRowFromRowColumn(1,dw_base.GetColumnIndex("MainProducts"));	
-			int begin=dw_base.GetCellRowFromRowColumn(1,dw_base.GetColumnIndex("DeveloperID"));				
+			int start1=dw_base.GetCellRowFromRowColumn(1,dw_base.GetColumnIndex(L"MainProducts"));	
+			int begin=dw_base.GetCellRowFromRowColumn(1,dw_base.GetColumnIndex(L"DeveloperID"));				
 			dw_base.ExpandCellRow(start1 + dw.GetRowCount() +3,begin -2);
 			//dw_base.ExpandMarginRow(-22,-20);
 		}*/
-		if(value == "渚涘簲鍟嗚祫鏂欓檮浠�")
+		if(value == L"渚涘簲鍟嗚祫鏂欓檮浠�")
 		{	
-			arg.AddArg("entityid",dw_base.GetGuid(1));
-			arg.AddArg("ApplyStatus",dw_base.GetItemString(1,"ApplyStatus"));
-			int p3=cast(arg as int) ;
-			OpenWindow("dev:xpage[maint.Document.Supplier.v3.vx]", p3);
+			arg.AddArg(L"entityid",dw_base.GetGuid(1));
+			arg.AddArg(L"ApplyStatus",dw_base.GetItemString(1,L"ApplyStatus"));
+			
+			OpenWindow(L"dev:xpage[maint.Document.Supplier.v3.vx]", (LPARAM)&arg);
 		}	
-		if(value == "楠屽巶鎶ュ憡闄勪欢")
+		if(value == L"楠屽巶鎶ュ憡闄勪欢")
 		{	
-			arg.AddArg("entityid",dw_base.GetGuid(1));
-			arg.AddArg("ApplyStatus",dw_base.GetItemString(1,"ApplyStatus"));
-			int p7=cast(arg as int) ;
-			OpenWindow("dev:xpage[maint.Document.SupplierEx.v3.vx]", p7);
+			arg.AddArg(L"entityid",dw_base.GetGuid(1));
+			arg.AddArg(L"ApplyStatus",dw_base.GetItemString(1,L"ApplyStatus"));
+			
+			OpenWindow(L"dev:xpage[maint.Document.SupplierEx.v3.vx]", (LPARAM)&arg);
 		}
-		else if(value == "鍚堜綔淇℃伅")
+		else if(value == L"鍚堜綔淇℃伅")
 		{	
-			int start2=dw_base.GetCellRowFromRowColumn(1,dw_base.GetColumnIndex("Status"));			
+			int start2=dw_base.GetCellRowFromRowColumn(1,dw_base.GetColumnIndex(L"Status"));			
 			dw_base.ExpandCellRow(start2,start2 +1);
 			//dw_base.ExpandMarginRow(-22,-20);
 		}
-		if (colname1 == "ThirdPartyReport")
+		if (colname1 == L"ThirdPartyReport")
 			{
-				xaserverarg arg1 = new xaserverarg;
+				xaserverarg& arg1 = *new xaserverarg;
 				arg1.setNativePointer(arg.CreateInstance());
-				int p2=cast(arg1 as int) ;
-				dw_base.SetItemString(1,"ThirdPartyReport","");
-				OpenWindow("dev:xpage[Inspection.Supplie.vx]", p2);
-				string str1 = arg1.GetArgString("ThirdPartyReport");
-				if(str1 != ""){
-					dw_base.SetItemString(1,"ThirdPartyReport",str1);
+			
+				dw_base.SetItemString(1,L"ThirdPartyReport",L"");
+				OpenWindow(L"dev:xpage[Inspection.Supplie.vx]", (LPARAM)&arg1);
+				xstring str1 = arg1.GetArgString(L"ThirdPartyReport");
+				if(str1 != L""){
+					dw_base.SetItemString(1,L"ThirdPartyReport",str1);
 					dw_base.Redraw();
 				}
 			}
-		if (colname1 == "PayType")
+		if (colname1 == L"PayType")
 			{
-				xaserverarg arg2 = new xaserverarg;
+				xaserverarg& arg2 =* new xaserverarg;
 				arg2.setNativePointer(arg.CreateInstance());
-				int p1=cast(arg2 as int) ;
-				OpenWindow("dev:xpage[paymen.Supplier.vx]", p1);
-				string str = arg2.GetArgString("PayType");
-				if(str != ""){
-					dw_base.SetItemString(1,"PayType",str);
+				
+				OpenWindow(L"dev:xpage[paymen.Supplier.vx]", (LPARAM)&arg2);
+				xstring str = arg2.GetArgString(L"PayType");
+				if(str != L""){
+					dw_base.SetItemString(1,L"PayType",str);
 					dw_base.Redraw();
 				}
 			}
 		return 1;
 	}			
 	
-	int OnSheetChanged(ref TNotifyEvent evt,int p)
+	int OnSheetChanged(TEvent* evt, int p)
 	{
-		string suserid = xaserver::GetUserId();
+		xstring suserid = xaserver::GetUserId();
 		PUser pp = publiccode::GetUser(suserid);
-		string userno = pp.no;
-		if (userno == "admin" )
+		xstring userno = pp.no;
+		if (userno == L"admin" )
 		{
 			dw_base.SetReadOnly(false);						
 			dw_kpinfo.SetReadOnly(false);
@@ -1259,65 +1288,65 @@
 		}
 	}
 	
-	int OnItemClickExS(ref TNotifyEvent evt,int p)
+	int OnItemClickExS(TEvent* evt, int p)
 	{
-		xdwtable dw = dw_visitp.FindDwTable("item4",0);
+		xdwtable dw = dw_visitp.FindDwTable(L"item4",0);
 	
 		
 		ref DWNMHDR  hdr = cast(evt.pnmh as ref DWNMHDR);
-		string value = hdr.data;
+		xstring value = hdr.data;
 		int row = hdr.row;
 		//alert(value);
-		xaserverarg arg=new xaserverarg;
+		xaserverarg& arg=*new xaserverarg;
 		arg.setNativePointer(arg.CreateInstance());					
 		
-		if(value == "闄勪欢涓婁紶")
+		if(value == L"闄勪欢涓婁紶")
 		{
-			if(dw.GetGuid(dw.GetRow())=="")
+			if(dw.GetGuid(dw.GetRow())==L"")
 			{
-				alert("淇濆瓨鍚庡湪涓婁紶锛�");
+				alert(L"淇濆瓨鍚庡湪涓婁紶锛�");
 				return 1;
 			}
 			
-			arg.AddArg("entityid",dw.GetGuid(dw.GetRow()));
-			//arg.AddArg("ApplyStatus",dw_base.GetItemString(1,"ApplyStatus"));
-			int p4=cast(arg as int) ;
-			OpenWindow("dev:xpage[maint.Document.Customer.v3.vx]", p4);
+			arg.AddArg(L"entityid",dw.GetGuid(dw.GetRow()));
+			//arg.AddArg(L"ApplyStatus",dw_base.GetItemString(1,L"ApplyStatus"));
+			
+			OpenWindow(L"dev:xpage[maint.Document.Customer.v3.vx]", (LPARAM)&arg);
 			return 1;
 		}
 			
-		if(value == "浜哄憳")
+		if(value == L"浜哄憳")
 		{
-			xaserverarg arg2 = new xaserverarg;
+			xaserverarg& arg2 = *new xaserverarg;
 			arg2.setNativePointer(arg2.CreateInstance());	
-			xaserverarg parg2 = GetParam(); 
-			OpenWindow("dev:xpage[SupplierUserGroupPersonSelect.vx]",cast(arg2 as int));
+			 
+			OpenWindow(L"dev:xpage[SupplierUserGroupPersonSelect.vx]", (LPARAM)&arg2);
 			
-			if(arg2.GetArgString("comdid")=="xmOk")
+			if(arg2.GetArgString(L"comdid")==L"xmOk")
 			{
-				string data = arg2.GetArgString("data");
-				xml x2 = new xml;
-				x2.setNativePointer(xml::CreateInstance());
-				x2.LoadXml(data);
-				msxml::IXMLDOMNodeList nodes = x2.GetXmlDoc().selectNodes("/root/item");
-				trace(x2.GetXml());
+				xstring data = arg2.GetArgString(L"data");
+				xml x2;
 				
-				int len = nodes.length;
+				x2.loadXML(data);
+				KXMLDOMNodeList nodes = x2.selectNodes(L"/root/item");
+				trace(x2.xml());
+				
+				int len = nodes.length();
 			
-				string Names = "";
+				xstring Names = L"";
 				for(int i=0;i<len; i++)
 				{
-					msxml::IXMLDOMElement t= nodes.item(i);
+					KXMLDOMElement t= nodes.item(i);
 					
-					if(t.getAttribute("Name"))
+					if(t.getAttribute(L"Name"))
 					{
-						string Name = t.getAttribute("Name");
-						if(Names=="") 
+						xstring Name = t.getAttribute(L"Name");
+						if(Names==L"") 
 							Names = Name;
-						else if(Names.find(Name) < 0) Names+=","+Name;
+						else if(Names.find(Name) < 0) Names+=L",L"+Name;
 					}
 				}
-				dw.SetItemString(dw.GetRow(),"ItemType",Names);
+				dw.SetItemString(dw.GetRow(),L"ItemType",Names);
 						
 			}
 			return 1;
@@ -1328,41 +1357,41 @@
 						
 	int PostOnAttachEvent()
 	{
-		AttachEvent("dw_base","DWV_CLICKED",OnItemClick);
-		//AttachEvent("tab_1", "LYSN_SELECTEDSHEET",OnSheetChanged);	
-		AttachEvent("dw_kpinfo","DWV_CLICKED",OnkpItemClick);
-		AttachEvent("dw_kpinfo","DWV_ITEMCHANGED",OnItemChangedkp);
-		AttachEvent("dw_base","DWV_ITEMCHANGED",OnItemChanged);
-		AttachEvent("dw_basegy","DWV_ITEMCHANGED",OnItemChanged3);
-		AttachEvent("dw_visitp","DWV_CLICKED",OnItemClickExS);	
+		AttachEvent(L"dw_base",L"DWV_CLICKED", (FEvent)&maintSupplierv3::OnItemClick);
+		//AttachEvent(L"tab_1", L"LYSN_SELECTEDSHEET",(FEvent)&maintSupplierv3::OnSheetChanged);	
+		AttachEvent(L"dw_kpinfo",L"DWV_CLICKED", (FEvent)&maintSupplierv3::OnkpItemClick);
+		AttachEvent(L"dw_kpinfo",L"DWV_ITEMCHANGED", (FEvent)&maintSupplierv3::OnItemChangedkp);
+		AttachEvent(L"dw_base",L"DWV_ITEMCHANGED", (FEvent)&maintSupplierv3::OnItemChanged);
+		AttachEvent(L"dw_basegy",L"DWV_ITEMCHANGED", (FEvent)&maintSupplierv3::OnItemChanged3);
+		AttachEvent(L"dw_visitp",L"DWV_CLICKED", (FEvent)&maintSupplierv3::OnItemClickExS);
 		return 1;
 	}		
 		
 
 	int OnInit()
 	{
-		dw_base = this.GetControl("dw_base");
+		dw_base = GetControl(L"dw_base");
 		dw_base.SetColHeaderHeight(16);		
-		dw_kpinfo = this.GetControl("dw_kpinfo");
+		dw_kpinfo = GetControl(L"dw_kpinfo");
 		dw_kpinfo.SetColHeaderHeight(16);	
-		dw_visitp = this.GetControl("dw_visitp");
+		dw_visitp = GetControl(L"dw_visitp");
 		dw_visitp.SetColHeaderHeight(16);	
 		
-		//xdwtable dw_check = this.GetControl("dw_check");
+		//xdwtable dw_check = this.GetControl(L"dw_check");
 		//dw_check.SetColHeaderHeight(16);					
 		//dw_check.SetReadOnly(true);
-		dw_basegy = this.GetControl("dw_basegy");
-		dw_supgoods = this.GetControl("dw_supgoods");
-		m_layer = GetControl("tab_1");	
-		xsheet = GetControl("tab_1");	
+		dw_basegy = GetControl(L"dw_basegy");
+		dw_supgoods = GetControl(L"dw_supgoods");
+		m_layer = GetControl(L"tab_1");	
+		xsheet = GetControl(L"tab_1");	
 		
-		//string  userno = xaserver::GetUserNo();
-		string ApplyStatus=dw_base.GetItemString(1,"ApplyStatus");
+		//xstring  userno = xaserver::GetUserNo();
+		xstring ApplyStatus=dw_base.GetItemString(1,L"ApplyStatus");
 		
-		//if(userno !="00601" && userno !="admin" && userno !="00701")
+		//if(userno !=L"00601" && userno !=L"admin" && userno !=L"00701")
 		//{
 			//alert(ApplyStatus);
-			if(ApplyStatus =="宸叉壒鍑�")
+			if(ApplyStatus ==L"宸叉壒鍑�")
 			{
 				dw_visitp.SetReadOnly(false);	
 			}
@@ -1370,31 +1399,31 @@
 				
 		if (!maint::m_EntityID)
 		{
-			string suserid = xaserver::GetUserId();
-			string susername = publiccode::GetUser(suserid).name;
-			string sdate = publiccode::GetCurrentDate();
-			string sAddressID = publiccode::GetGuid();
-			dw_base.SetItemString(1,"CreatorID",suserid);//Party
-			dw_base.SetItemDisplayString(1,"CreatorID",susername);
-			dw_base.SetItemString(1,"CreateDate",sdate);
-			//string sCountryCode = dw.GetItemString(1,"CountryCode",0);
-			//if (sCountryCode=="" || sCountryCode== nil)
-			dw_base.SetItemString(1,"CountryCode","142");
-			dw_base.SetItemDisplayString(1,"CountryCode","涓浗");
-			dw_base.SetItemString(1,"Status","1");
-			dw_base.SetItemString(1,"Type","2");//PartyAccount  渚涘簲鍟�
-			dw_base.SetItemString(1,"aIdentifyAddressFlag","Y");//PartyAddress  涓诲湴鍧�
-			dw_base.SetItemString(1,"aPrimaryFlag","Y");
-			dw_base.SetItemString(1,"aStatus","1");
-			dw_base.SetItemString(1,"bAddressID",sAddressID);//PartyAddress  瀵勪欢鍦板潃
-			dw_base.SetItemString(1,"bAddressName","瀵勪欢鍦板潃");
-			dw_base.SetItemString(1,"bIdentifyAddressFlag","N");
-			dw_base.SetItemString(1,"bPrimaryFlag","N");
-			dw_base.SetItemString(1,"bStatus","1");
+			xstring suserid = xaserver::GetUserId();
+			xstring susername = publiccode::GetUser(suserid).name;
+			xstring sdate = publiccode::GetCurrentDate();
+			xstring sAddressID = publiccode::GetGuid();
+			dw_base.SetItemString(1,L"CreatorID",suserid);//Party
+			dw_base.SetItemDisplayString(1,L"CreatorID",susername);
+			dw_base.SetItemString(1,L"CreateDate",sdate);
+			//xstring sCountryCode = dw.GetItemString(1,L"CountryCode",0);
+			//if (sCountryCode==L"" || sCountryCode== nil)
+			dw_base.SetItemString(1,L"CountryCode",L"142");
+			dw_base.SetItemDisplayString(1,L"CountryCode",L"涓浗");
+			dw_base.SetItemString(1,L"Status",L"1");
+			dw_base.SetItemString(1,L"Type",L"2");//PartyAccount  渚涘簲鍟�
+			dw_base.SetItemString(1,L"aIdentifyAddressFlag",L"Y");//PartyAddress  涓诲湴鍧�
+			dw_base.SetItemString(1,L"aPrimaryFlag",L"Y");
+			dw_base.SetItemString(1,L"aStatus",L"1");
+			dw_base.SetItemString(1,L"bAddressID",sAddressID);//PartyAddress  瀵勪欢鍦板潃
+			dw_base.SetItemString(1,L"bAddressName",L"瀵勪欢鍦板潃");
+			dw_base.SetItemString(1,L"bIdentifyAddressFlag",L"N");
+			dw_base.SetItemString(1,L"bPrimaryFlag",L"N");
+			dw_base.SetItemString(1,L"bStatus",L"1");
 			//dw_base.ResetUpdateStatus();
-			//dw_check.SetItemDisplayString(1,"BusinessLicenceFlag","钀ヤ笟鎵х収");			
-			//dw_check.SetItemDisplayString(1,"TaxRegistrationFlag","绋庡姟鐧昏璇佸鍗颁欢");					
-			//dw_check.SetItemDisplayString(1,"OrganizationCodeFlag","缁勭粐鏈烘瀯浠g爜");	
+			//dw_check.SetItemDisplayString(1,L"BusinessLicenceFlag",L"钀ヤ笟鎵х収");			
+			//dw_check.SetItemDisplayString(1,L"TaxRegistrationFlag",L"绋庡姟鐧昏璇佸鍗颁欢");					
+			//dw_check.SetItemDisplayString(1,L"OrganizationCodeFlag",L"缁勭粐鏈烘瀯浠g爜");	
 		}
 		//dw_base.SetColHeaderHeight(0);
 		//dw_base.SetRowSelectorWidth(0);
@@ -1412,14 +1441,14 @@
 		//PostOnAttachEvent();
 		maint::onloaded();	
 		OnInit();
-		string suserid = xaserver::GetUserId();
+		xstring suserid = xaserver::GetUserId();
 		PUser p = publiccode::GetUser(suserid);
-		string deptname = p.deptname;
-		string userno = p.no;
-		string jobname=p.jobname;
-		string ApplyStatusEx=dw_base.GetItemString(1,"ApplyStatus");
+		xstring deptname = p.deptname;
+		xstring userno = p.no;
+		xstring jobname=p.jobname;
+		xstring ApplyStatusEx=dw_base.GetItemString(1,L"ApplyStatus");
 		//alert(ApplyStatusEx);
-		if (userno == "admin" ||userno == "00601" || userno == "00701" || ApplyStatusEx=="淇敼")
+		if (userno == L"admin" ||userno == L"00601" || userno == L"00701" || ApplyStatusEx==L"淇敼")
 		{
 			dw_base.SetReadOnly(false);						
 			dw_kpinfo.SetReadOnly(false);
@@ -1430,26 +1459,26 @@
 			dw_kpinfo.SetReadOnly(true);	
 			//dw_visitp.SetReadOnly(true);
 		}
-		/*if(deptname != "浜у搧渚涘簲閮�" && userno != "admin")
+		/*if(deptname != L"浜у搧渚涘簲閮�" && userno != L"admin")
 		{
-			xdwtable dw = dw_base.FindDwTable("item2",0);				
-			int start=dw_base.GetCellRowFromRowColumn(1,dw_base.GetColumnIndex("MainProducts"));				
+			xdwtable dw = dw_base.FindDwTable(L"item2",0);				
+			int start=dw_base.GetCellRowFromRowColumn(1,dw_base.GetColumnIndex(L"MainProducts"));				
 	alert(start.toString());
 			//dw_base.ExpandCellRow(start,dw.GetRowCount());
-	alert("2");
-			int start1=dw_base.GetCellRowFromRowColumn(1,dw_base.GetColumnIndex("MainProducts"));	
-			int begin=dw_base.GetCellRowFromRowColumn(1,dw_base.GetColumnIndex("DeveloperID"));				
-	alert("2");
+	alert(L"2");
+			int start1=dw_base.GetCellRowFromRowColumn(1,dw_base.GetColumnIndex(L"MainProducts"));	
+			int begin=dw_base.GetCellRowFromRowColumn(1,dw_base.GetColumnIndex(L"DeveloperID"));				
+	alert(L"2");
 			//dw_base.ExpandCellRow(start1 + dw.GetRowCount() +3,begin -2);
-			int start2=dw_base.GetCellRowFromRowColumn(1,dw_base.GetColumnIndex("Status"));			
-	alert("2");
+			int start2=dw_base.GetCellRowFromRowColumn(1,dw_base.GetColumnIndex(L"Status"));			
+	alert(L"2");
 			//dw_base.ExpandCellRow(start2,start2 +1);
 		
-			//dw_kpinfo.openUrl("/sale/view/Supplier/template/supplier/kpinfo2");
+			//dw_kpinfo.openUrl(L"/sale/view/Supplier/template/supplier/kpinfo2");
 			//maint::OnRetrieve();
 		}*/
 
-		/*if (userno == "admin" )
+		/*if (userno == L"admin" )
 		{
 			dw_base.SetReadOnly(false);						
 			dw_kpinfo.SetReadOnly(false);						
@@ -1459,7 +1488,7 @@
 			dw_kpinfo.SetReadOnly(true);	
 		}
 		dw_supgoods.SetReadOnly(true);
-		if(jobname=="涓氬姟閮ㄧ粡鐞�" || jobname == "涓氬姟缁忕悊" || jobname == "涓氬姟涓荤" || jobname == "涓氬姟缁勯暱" || userno == "admin")
+		if(jobname==L"涓氬姟閮ㄧ粡鐞�" || jobname == L"涓氬姟缁忕悊" || jobname == L"涓氬姟涓荤" || jobname == L"涓氬姟缁勯暱" || userno == L"admin")
 		{	
 			xsheet.SetSheetState(4,1);//鏄剧ず浜у搧搴�				
 		}

--
Gitblit v1.9.3