From bbe8987042e7216227bc9fe87e0ac60abaebdbf3 Mon Sep 17 00:00:00 2001
From: xj qian <qianxj15@sina.com>
Date: 星期四, 18 七月 2024 15:58:10 +0800
Subject: [PATCH] Merge branch 'master' of http://116.62.18.175:6699/r/mis-prj

---
 jrj/project/business/Quote/Product.Select.cpp |  815 +++++++++++++++++++++++++++++----------------------------
 1 files changed, 414 insertions(+), 401 deletions(-)

diff --git a/jrj/project/business/Quote/Product.Select.cpp b/jrj/project/business/Quote/Product.Select.cpp
index 23e6501..3f91041 100644
--- a/jrj/project/business/Quote/Product.Select.cpp
+++ b/jrj/project/business/Quote/Product.Select.cpp
@@ -1,17 +1,29 @@
-use "xcontrol.vframe.vbusiness.vd"
-use "xbase.vframe.vbusiness.vd"
-use "multi.vbind.vbind.wface.vd"
-use "productlibrary.vd"
-use "shoppingcart.vd"
+#include <wobject/xstring.hpp>
+#include <xcontrol/xtreeview.hpp>
+#include <xcontrol/xdwgrid.hpp>
+#include <wobject/xdouble.hpp>
+#include <xcontrol/xlayersheet.hpp>
+#include <xcontrol/xdatetimepick.hpp>
 
-unit trade 
-[
-	class ProductSelectWin :  public xwin
+
+#include "vbusiness/vframe/listwin.vframe.vbusiness.hpp"
+#include "viewobject/view.base.hpp"
+
+using xml = KXMLDOMDocument;
+class __declspec(dllexport)  ProductSelectWin :  public xwin
 	{
+	public:
 		int hObject = 0;
-		string CustomerID;
-		string m_customer;
-	
+		xstring CustomerID;
+		xstring m_customer;
+	public:
+		ProductSelectWin(void* implPtr, HWND hWnd) :xwin(implPtr, hWnd) {}
+	public:
+		static ProductSelectWin* CreateInstance(void* implPtr, void* hWnd)
+		{
+			ProductSelectWin* pWin = new ProductSelectWin(implPtr, (HWND)hWnd);
+			return pWin;
+		}
 		//产品库产品列表
 		xdwgrid	dw_list;
 		//购物车产品列表
@@ -26,24 +38,24 @@
 
 		xnode	m_agentNode;	//Agent Condition
 		xtreeview tv_folder;	
-		string 	agentFor;
+		xstring 	agentFor;
 	
-		string	impStr;
+		xstring	impStr;
 	
 		int FillGoodsCarList()
 		{
-			xcombobox xc = GetControl("frame:cbx_goodscar");
+			xcombobox xc = GetControl(L"frame:cbx_goodscar");
 			if(!xc) return 0;
 			xml  x = ShoppingCartView::GetRoleList(CustomerID);	
 			if(!x) return 0;
-			xc.SetText("==选择购物车==");
+			xc.SetText(L"==选择购物车==L");
 				
-			msxml::IXMLDOMNodeList nlist = x.GetXmlDoc().SelectNodes("//item"); 
-			int len = nlist.length;
+			KXMLDOMNodeList nlist = x.selectNodes(L"//item"); 
+			int len = nlist.length();
 			for (int i = 0; i < len; i++)
 			{	
-				msxml::IXMLDOMElement e = nlist.item(i);
-				string name = e.getAttribute("name");
+				KXMLDOMElement e = nlist.item(i);
+				xstring name = e.getAttribute(L"name");
 				xcombobox::AddItem(xc.GetId(),name);				
 			}
 			return 1;
@@ -51,106 +63,106 @@
 
 		int SetAgent()
 		{
-			string xfNodeAgentArea  = "agentarea";
+			xstring xfNodeAgentArea  = L"agentarea";
 			xnode anode = GetAgentNode(xfNodeAgentArea);
 			if(m_agentNode)
 			{
-				SetAgentNodeContent (anode,m_agentNode);
+				SetAgentNode (anode,m_agentNode);
 			}
 			else
 			{
-				msxml::IXMLDOMElement xframeElement =  GetElement();
-				msxml::IXMLDOMElement agent = xframeElement.selectSingleNode("agent/"+xfNodeAgentArea+"[1]/*");
+				KXMLDOMElement xframeElement =  GetElement();
+				KXMLDOMElement agent = xframeElement.selectSingleNode(L"agent/"+xfNodeAgentArea+L"[1]/*");
 				if(agent)
 				{
-					string s = agent.xml;
-					m_agentNode =  SetAgentNodeContent (anode,s);
+					xstring s = agent.xml();
+					m_agentNode =  SetAgentNode (anode,s);
 				}
 			}
 			return 1;
 		}
 				
 		//焦点激活处理函数
-		int OnSetFocus(ref TEvent evt,int param)
+		int OnSetFocus(TEvent* evt, LPARAM param)
 		{
 			//重置工具条
 			SetAgent();
 			return 1;
 		}
 
-		msxml::IXMLDOMElement OnGetCarListRowElement(int row=0)
+		KXMLDOMElement OnGetCarListRowElement(int row=0)
 		{
 			if(row < 1) row = dwc_list.GetRow();
 			if(row < 1 || row > dwc_list.GetRowCount()) return 0;
-			msxml::IXMLDOMElement e = g_xdoc_shoppingcart.getRowElement("data/Item", row);
+			KXMLDOMElement e = g_xdoc_shoppingcart.getRowElement(L"data/Item", row);
 			return e;
 		}	
 	
-		int OnShowImage(string skuid)
+		int OnShowImage(xstring skuid)
 		{
-			imageview im = GetControl("im1");
+			imageview im = GetControl(L"im1");
 			//im.RemoveImage();
 			im.ResetEx();
 			
 			xml xp=new xml;
-			xp.setNativePointer(xml::CreateInstance());
-			xaserverarg arg_pic=new xaserverarg;
+			
+			xaserverarg arg_pic;
 			arg_pic.setNativePointer(arg_pic.CreateInstance());	
-			arg_pic.AddArg("SKUID",skuid);
-			if(url::get("/sale/data/ProductLibrary3/pref/picture/imagelistSKU",arg_pic.GetString(),xp)!=1)
+			arg_pic.AddArg(L"SKUID",skuid);
+			if(xurl::get(L"/sale/data/ProductLibrary3/pref/picture/imagelistSKU",arg_pic.GetString(),xp)!=1)
 			{
-				trace("xxx",xp.GetXml());
+				trace(L"xxx",xp.xml());
 			}else
 			{
-				//imageElement = xp.GetXmlDoc().documentElement;
-				msxml::IXMLDOMNodeList  nlistp=  xp.GetXmlDoc().selectNodes("ImageList/image");
-				int lenp = nlistp.length;
+				//imageElement = xp.documentElement();
+				KXMLDOMNodeList  nlistp=  xp.selectNodes(L"ImageList/image");
+				int lenp = nlistp.length();
 				for(int ip=0;ip<lenp;ip++)
 				{
-					msxml::IXMLDOMElement xitem = nlistp.item(ip);
-					string picname = xitem.selectSingleNode("PicPath").text; 
-					string goodno = xitem.selectSingleNode("GoodsNo").text; 	
-					if(picname == "/business/products/Thumbs//")
-						picname = "/business/products/Thumbs/00/00000000-0000-0000-0000-000000000000.jpg";
-					im.AddImages(picname, "");
+					KXMLDOMElement xitem = nlistp.item(ip);
+					xstring picname = xitem.selectSingleNode(L"PicPath").text(); 
+					xstring goodno = xitem.selectSingleNode(L"GoodsNo").text(); 	
+					if(picname == L"/business/products/Thumbs//")
+						picname = L"/business/products/Thumbs/00/00000000-0000-0000-0000-000000000000.jpg";
+					im.AddImages(picname, L"");
 				}
 				im.Redraw();
-				//win32::SendMessage(im.GetId(),0x000f,0,1);
-				//win32::InvalidateRect(im.GetId(),cast(0 as ref xrect),true);
+				//SendMessage(im.GetId(),0x000f,0,1);
+				//InvalidateRect(im.GetId(),cast(0 as ref xrect),true);
 			}
 			return 1;
 		}
 					
-		int OnShowImage(string skuid, string customerItemNo)
+		int OnShowImage(xstring skuid, xstring customerItemNo)
 		{
-			imageview im = GetControl("im1");
+			imageview im = GetControl(L"im1");
 			//im.RemoveImage();
 			im.ResetEx();
 			
 			xml xp=new xml;
-			xp.setNativePointer(xml::CreateInstance());
-			xaserverarg arg_pic=new xaserverarg;
-			arg_pic.setNativePointer(arg_pic.CreateInstance());	
-			arg_pic.AddArg("SKUID",skuid);
-			arg_pic.AddArg("CustomerID",m_customer);
-			arg_pic.AddArg("CustomerItemNo",customerItemNo);
 			
-			if(url::get("/sale/data/ProductLibrary3/pref/picture/customer/imagelistSKU",arg_pic.GetString(),xp)!=1)
+			xaserverarg arg_pic;
+			arg_pic.setNativePointer(arg_pic.CreateInstance());	
+			arg_pic.AddArg(L"SKUID",skuid);
+			arg_pic.AddArg(L"CustomerID",m_customer);
+			arg_pic.AddArg(L"CustomerItemNo",customerItemNo);
+			
+			if(xurl::get(L"/sale/data/ProductLibrary3/pref/picture/customer/imagelistSKU",arg_pic.GetString(),xp)!=1)
 			{
-				trace("error:" + xp.GetXml());
+				trace(L"error:" + xp.xml());
 			}else
 			{
-				//imageElement = xp.GetXmlDoc().documentElement;
-				msxml::IXMLDOMNodeList  nlistp=  xp.GetXmlDoc().selectNodes("ImageList/image");
-				int lenp = nlistp.length;
+				//imageElement = xp.documentElement();
+				KXMLDOMNodeList  nlistp=  xp.selectNodes(L"ImageList/image");
+				int lenp = nlistp.length();
 				for(int ip=0;ip<lenp;ip++)
 				{
-					msxml::IXMLDOMElement xitem = nlistp.item(ip);
-					string picname = xitem.selectSingleNode("PicPath").text; 
-					string goodno = xitem.selectSingleNode("GoodsNo").text; 	
-					if(picname == "/business/products/Thumbs//")
-						picname = "/business/products/Thumbs/00/00000000-0000-0000-0000-000000000000.jpg";
-					im.AddImages(picname, "");
+					KXMLDOMElement xitem = nlistp.item(ip);
+					xstring picname = xitem.selectSingleNode(L"PicPath").text(); 
+					xstring goodno = xitem.selectSingleNode(L"GoodsNo").text(); 	
+					if(picname == L"/business/products/Thumbs//")
+						picname = L"/business/products/Thumbs/00/00000000-0000-0000-0000-000000000000.jpg";
+					im.AddImages(picname, L"");
 				}
 				im.Redraw();
 			}
@@ -161,27 +173,27 @@
 		{
 			int hItem = tv_folder.GetSelectedItem();
 			int hTopItem = LookupTopFolder(hItem);
-			string name = tv_folder.GetItemLabel(hTopItem);
+			xstring name = tv_folder.GetItemLabel(hTopItem);
 
-			msxml::IXMLDOMElement e= tv_folder.GetItemData(hItem);
-			string guid =  e.getAttribute("guid");
-			if(guid=="") return 1;
-			xaserverarg arg = new xaserverarg;
-			arg.setNativePointer(arg.CreateInstance());
-			arg.AddArg("guid", e.getAttribute("guid"));
-			if(name=="个人产品")
-				arg.AddArg("FolderID", e.getAttribute("guid"));
+			KXMLDOMElement e= tv_folder.GetItemData(hItem);
+			xstring guid =  e.getAttribute(L"guid");
+			if(guid==L"") return 1;
+			xaserverarg arg ;
+			
+			arg.AddArg(L"guid", e.getAttribute(L"guid"));
+			if(name==L"个人产品")
+				arg.AddArg(L"FolderID", e.getAttribute(L"guid"));
 			else
-				arg.AddArg("CategoryID", e.getAttribute("guid"));
-			string No = e.getAttribute("CategoryNo");
-			if(No=="") No = e.getAttribute("no");
-			string Name = e.getAttribute("CName");
-			if(Name=="") Name = e.getAttribute("cname");
-			arg.AddArg("No",No);
-			arg.AddArg("CName",Name);
+				arg.AddArg(L"CategoryID", e.getAttribute(L"guid"));
+			xstring No = e.getAttribute(L"CategoryNo");
+			if(No==L"") No = e.getAttribute(L"no");
+			xstring Name = e.getAttribute(L"CName");
+			if(Name==L"") Name = e.getAttribute(L"cname");
+			arg.AddArg(L"No",No);
+			arg.AddArg(L"CName",Name);
 			int p = arg;
-			OpenWindow("dev:xpage[Quick.Input.NewProduct.vx]",p);
-			//if(arg.GetArgString("data.modify")=="1")RetrieveData();
+			OpenWindow(L"dev:xpage[Quick.Input.NewProduct.vx]",p);
+			//if(arg.GetArgString(L"data.modify")==L"1")RetrieveData();
 			return 1;
 		}
 			
@@ -190,12 +202,12 @@
 			ref DWNMHDR  hdr = trust(evt.pnmh as ref DWNMHDR);
 			int row = hdr.row;
 				
-			htmlctrl xs = GetControl("html_detail");
-			string html = makeHtml(row);
+			htmlctrl xs = GetControl(L"html_detail");
+			xstring html = makeHtml(row);
 			xs.SetContent(html);
 			xs.Redraw();
 			
-			string id = g_xdoc_product.getData(0,"data/Item",row,"@guid");
+			xstring id = g_xdoc_product.getData(0,L"data/Item",row,L"@guid");
 			OnShowImage(id);
 					
 			return 1;
@@ -206,14 +218,14 @@
 			ref DWNMHDR  hdr = trust(evt.pnmh as ref DWNMHDR);
 			int row = hdr.row;
 				
-			htmlctrl xs = GetControl("html_detail");
-			string html = makeGoodscarHtml(row);
+			htmlctrl xs = GetControl(L"html_detail");
+			xstring html = makeGoodscarHtml(row);
 			xs.SetContent(html);
 			xs.Redraw();
 			if(m_customer)
 			{
-				string id = g_xdoc_shoppingcart.getData(0,"data/Item",row,"SKUID");
-				string customerItemNo = g_xdoc_shoppingcart.getData(0,"data/Item",row,"CustomerItemNo");
+				xstring id = g_xdoc_shoppingcart.getData(0,L"data/Item",row,L"SKUID");
+				xstring customerItemNo = g_xdoc_shoppingcart.getData(0,L"data/Item",row,L"CustomerItemNo");
 				OnShowImage(id,customerItemNo);
 			}
 				
@@ -225,8 +237,8 @@
 			int IDOK = 1;
 			int MB_OKCANCEL  = 1;
 			int MB_ICONQUESTION  = 32;
-			if(win32::MessageBox(GetHWND(),"确认删除指定的项,删除后将不能恢复?","提示",MB_OKCANCEL|MB_ICONQUESTION)!=IDOK) return 1;
-			string id = g_xdoc_product.getData(0,"data/Item",row,"@guid");
+			if(MessageBox(GetHWND(),L"确认删除指定的项,删除后将不能恢复?",L"提示",MB_OKCANCEL|MB_ICONQUESTION)!=IDOK) return 1;
+			xstring id = g_xdoc_product.getData(0,L"data/Item",row,L"@guid");
 		
 			if(ProductLibraryView::DeleteItem(id)==1)	dw_list.DeleteRow(0);	
 			return 1;
@@ -240,256 +252,256 @@
 		
 		int OnCkbCLick(ref TEvent evt,int p)
 		{	
-			xcheckbox cbx_1 = GetControl("frame:cbx1");			
+			xcheckbox cbx_1 = GetControl(L"frame:cbx1");			
 			int state=cbx_1.GetCheck(cbx_1.GetId());	
 			return SetSelectState(dw_list,state);
 		}
 			
 		int OnCkbCLick2(ref TEvent evt,int p)
 		{	
-			xcheckbox cbx_2 = GetControl("frame:cbx2");			
+			xcheckbox cbx_2 = GetControl(L"frame:cbx2");			
 			int state=cbx_2.GetCheck(cbx_2.GetId());		
 			return SetSelectState(dwc_list,state);
 		}	
 			
-		xml  GetGoodsPropList(string guid)
+		xml  GetGoodsPropList(xstring guid)
 		{
 			xml x=new xml;
-			x.setNativePointer(xml::CreateInstance());
-			xaserverarg arg = new xaserverarg;
-			arg.setNativePointer(arg.CreateInstance());
-			arg.AddArg("guid", guid);	
-			if(url::get("/sale/data/SO/goods/goodsprop/list", arg.GetString(),x)!=1)
+			
+			xaserverarg arg ;
+			
+			arg.AddArg(L"guid", guid);	
+			if(xurl::get(L"/sale/data/SO/goods/goodsprop/list", arg.GetString(),x)!=1)
 			{
-				string error = x.GetXmlDoc().text;
+				xstring error = x.text();
 				alert(error);
 			}
 			return x;
 		}
 		
 					
-		xml  GetGoodsPropListEx(string guid)
+		xml  GetGoodsPropListEx(xstring guid)
 		{
 			xml x=new xml;
-			x.setNativePointer(xml::CreateInstance());
-			string fields="<data>";
+			
+			xstring fields=L"<data>";
 			
 			/*
-			fields +="<field name='HighestPrice' label='最高价'/>";
-			fields +="<field name='LowestPrice' label='最低价'/>";
+			fields +=L"<field name='HighestPrice' label='最高价'/>";
+			fields +=L"<field name='LowestPrice' label='最低价'/>";
 			
-			fields +="<field name='BulkPrice' label='散货价'/>";
-			fields +="<field name='CardPrice' label='纸卡价'/>";
-			fields +="<field name='BuyPrice' label='采购价'/>";
-			fields +="<field name='SupplierID' label='货源'/>";
+			fields +=L"<field name='BulkPrice' label='散货价'/>";
+			fields +=L"<field name='CardPrice' label='纸卡价'/>";
+			fields +=L"<field name='BuyPrice' label='采购价'/>";
+			fields +=L"<field name='SupplierID' label='货源'/>";
 			*/
 			
-			fields +="<field name='Packing' label='包装方式'/>";
-			fields +="<field name='PackingRate' label='每箱数量'/>";
-			fields +="<field name='VolumeDesc' label='包装尺码'/>";
-			fields +="<field name='GWPerPkg' label='毛重'/>";
-			fields +="<field name='NWPerPkg' label='净重'/>";
-			//fields +="<field name='DeveloperID' label='开发人员'/>";
-			fields +="<field name='AttributeValue_1' label='产品属性'/>";
-			//fields +="<field name='Remark' label='备注'/>";
+			fields +=L"<field name='Packing' label='包装方式'/>";
+			fields +=L"<field name='PackingRate' label='每箱数量'/>";
+			fields +=L"<field name='VolumeDesc' label='包装尺码'/>";
+			fields +=L"<field name='GWPerPkg' label='毛重'/>";
+			fields +=L"<field name='NWPerPkg' label='净重'/>";
+			//fields +=L"<field name='DeveloperID' label='开发人员'/>";
+			fields +=L"<field name='AttributeValue_1' label='产品属性'/>";
+			//fields +=L"<field name='Remark' label='备注'/>";
 			
-			fields += "</data>";
-			x.LoadXml(fields);
+			fields += L"</data>";
+			x.loadXML(fields);
 			
 			return x;
 		}
 			
-		string makeHtml(int row)
+		xstring makeHtml(int row)
 		{
-			string id = g_xdoc_product.getData(0,"data/Item",row,"@guid");
+			xstring id = g_xdoc_product.getData(0,L"data/Item",row,L"@guid");
 			xml x = GetGoodsPropList(id);
 			xml x1 = GetGoodsPropListEx(id);
 			
-			string html="<html><style> .text{ font-weight:400} .label { font-weight:400;}</style><body style='margin:2;background-color1:#ccdccc none #f0f0f0 none'>";
-			html += "<div ><span style='font-weight:700;width:50;font-size:10pt'  >编号:</span><span  style='width:90;font-size:10pt'>" + dw_list.GetItemString(row,"No")+
-						"</span> <span style='font-weight:700;width:50;font-size:10pt' >类项:</span><span  style='width:90;font-size:10pt'>" + dw_list.GetItemString(row,"RefNo")+
+			xstring html=L"<html><style> .text(){ font-weight:400} .label { font-weight:400;}</style><body style='margin:2;background-color1:#ccdccc none #f0f0f0 none'>";
+			html += L"<div ><span style='font-weight:700;width:50;font-size:10pt'  >编号:</span><span  style='width:90;font-size:10pt'>" + dw_list.GetItemString(row,L"No")+
+						"</span> <span style='font-weight:700;width:50;font-size:10pt' >类项:</span><span  style='width:90;font-size:10pt'>" + dw_list.GetItemString(row,L"RefNo")+
 						"</span></div>";
-			html +=  "<div ><span style='font-weight:700;width:50;font-size:10pt'  >货号:</span><span  style='width:90;font-size:10pt'>" + dw_list.GetItemString(row,"GoodsNo")+
+			html +=  L"<div ><span style='font-weight:700;width:50;font-size:10pt'  >货号:</span><span  style='width:90;font-size:10pt'>" + dw_list.GetItemString(row,L"GoodsNo")+
 						"</span></div>" ;
-			html +=  "<div ><span style='font-weight:700;width:50;font-size:10pt'  >品名:</span><span  style='width:90;font-size:10pt'>" + dw_list.GetItemString(row,"CName")+
+			html +=  L"<div ><span style='font-weight:700;width:50;font-size:10pt'  >品名:</span><span  style='width:90;font-size:10pt'>" + dw_list.GetItemString(row,L"CName")+
 						"</span></div>" ;
-			if(dw_list.GetItemString(row,"CSpec")!="")
-				html +=  "<div ><span style='font-weight:700;width:50;font-size:10pt'  >规格:</span><span  style='width:90;font-size:10pt'>" + dw_list.GetItemString(row,"CSpec")+
+			if(dw_list.GetItemString(row,L"CSpec")!=L"")
+				html +=  L"<div ><span style='font-weight:700;width:50;font-size:10pt'  >规格:</span><span  style='width:90;font-size:10pt'>" + dw_list.GetItemString(row,L"CSpec")+
 							"</span></div>" ;
 			
-			msxml::IXMLDOMNodeList fieldsEx = x1.GetXmlDoc().selectNodes("data/field");
-			string ls_detail="";
-			string ls_item ="";
-			string name;
-			string label;
-			int len = fieldsEx.length;
+			KXMLDOMNodeList fieldsEx = x1.selectNodes(L"data/field");
+			xstring ls_detail=L"";
+			xstring ls_item =L"";
+			xstring name;
+			xstring label;
+			int len = fieldsEx.length();
 			int i= 0;
 			
 			for(i=0;i<len; true)
 			{
 				int cnt  = 0;
-				ls_item = "";
+				ls_item = L"";
 				while(cnt < 2)
 				{
-					name = fieldsEx.item(i).selectSingleNode("@name").text;
-					label  = fieldsEx.item(i).selectSingleNode("@label").text;
-					ls_item += "<td>" + label + "</td>" + "<td style='text-align:center'>" + g_xdoc_product.getData(0,"data/Item",row,name) + "</td>" ;
+					name = fieldsEx.item(i).selectSingleNode(L"@name").text();
+					label  = fieldsEx.item(i).selectSingleNode(L"@label").text();
+					ls_item += L"<td>" + label + L"</td>" + L"<td style='text-align:center'>" + g_xdoc_product.getData(0,L"data/Item",row,name) + L"</td>" ;
 					cnt++;
 					i++;
 					if(i ==len)break;
 				}
-				ls_detail += "<tr>" + ls_item + "</tr>";
+				ls_detail += L"<tr>" + ls_item + L"</tr>";
 			}
-			html +=  "<div style='margin-left:8px;margin-right:16px;'>" +
-						+"<table><colgroup span='1' width='70'/><colgroup span='1' width='120'/><colgroup span='1' width='70'/><colgroup span='1' width='120'/>" 
+			html +=  L"<div style='margin-left:8px;margin-right:16px;'>" +
+						+L"<table><colgroup span='1' width='70'/><colgroup span='1' width='120'/><colgroup span='1' width='70'/><colgroup span='1' width='120'/>" 
 						+ ls_detail
-						+"</table>"
-						+"</div>" ;
+						+L"</table>"
+						+L"</div>" ;
 						
-			string ls_star="";
-			msxml::IXMLDOMNodeList fields  = x.GetXmlDoc().selectNodes("data/field");
-			len = fields.length;
+			xstring ls_star=L"";
+			KXMLDOMNodeList fields  = x.selectNodes(L"data/field");
+			len = fields.length();
 			
-			ls_detail = "";
+			ls_detail = L"";
 			if(len > 0) 
-				html +=  "<div ><span style='font-weight:700;width:50;font-size:10pt'  >技术要求:</span></div>" ;
+				html +=  L"<div ><span style='font-weight:700;width:50;font-size:10pt'  >技术要求:</span></div>" ;
 			for(i=0;i<len; true)
 			{
-				ls_item="";
+				ls_item=L"";
 				
 				int count = 0;
 				while(count < 2)
 				{
-					name = fields.item(i).selectSingleNode("@name").text;
-					label  = fields.item(i).selectSingleNode("@label").text;
+					name = fields.item(i).selectSingleNode(L"@name").text();
+					label  = fields.item(i).selectSingleNode(L"@label").text();
 				
-					if(name=="QualityTerm" || name=="PackTerm" || label=="质量" || label=="包装质量" || label=="技术要求")
+					if(name==L"QualityTerm" || name==L"PackTerm" || label==L"质量" || label==L"包装质量" || label==L"技术要求")
 					{
 						i++;
 						if(i >= len)count = 2;
 						continue;
 					}
-					else if(g_xdoc_product.getData(0,"data/Item",row,name)=="")
+					else if(g_xdoc_product.getData(0,L"data/Item",row,name)==L"")
 					{
-						msxml::IXMLDOMNodeList options = fields.item(i).selectNodes("item");
-						int tlen = options.length;
-						string terms = "" ;
+						KXMLDOMNodeList options = fields.item(i).selectNodes(L"item");
+						int tlen = options.length();
+						xstring terms = L"" ;
 						for(int k=0; k<tlen; k++)
 						{
-							if(options.item(k).text)
+							if(options.item(k).text())
 							{
-								if(k>0) terms += ", ";
-								terms += "[" + options.item(k).text +"]";
+								if(k>0) terms += L", L";
+								terms += L"[" + options.item(k).text() +L"]";
 							}
 						}
-						ls_star += "<div ><span style='font-weight:700;width:50;font-size:10pt'  >" + label +"*:</span><span  style='width:90;font-size:10pt'>" + terms + "</span></div>" ;
+						ls_star += L"<div ><span style='font-weight:700;width:50;font-size:10pt'  >" + label +L"*:</span><span  style='width:90;font-size:10pt'>" + terms + L"</span></div>" ;
 					}else
 					{
-						ls_item = "<td>" + label + "</td>" + "<td>" + g_xdoc_product.getData(0,"data/Item",row,name) + "</td>" ;
+						ls_item = L"<td>" + label + L"</td>" + L"<td>" + g_xdoc_product.getData(0,L"data/Item",row,name) + L"</td>" ;
 						count++;
 					}
 					i++;
 					if(i >= len)count = 2;
 				}
-				ls_item = "<tr>" + ls_item + "</tr>";
+				ls_item = L"<tr>" + ls_item + L"</tr>";
 				ls_detail += ls_item;
 			}
 			
-			html +=  "<div style='margin-left:8px;margin-right:16px;'>" +
-						+"<table><colgroup span='1' width='70'/><colgroup span='1' width='120'/><colgroup span='1' width='70'/><colgroup span='1' width='120'/>" 
+			html +=  L"<div style='margin-left:8px;margin-right:16px;'>" +
+						+L"<table><colgroup span='1' width='70'/><colgroup span='1' width='120'/><colgroup span='1' width='70'/><colgroup span='1' width='120'/>" 
 						+ ls_detail
-						+"</table>"
-						+"</div>" ;
-			if(dw_list.GetItemString(row,"QualityTerm")!="")
+						+L"</table>"
+						+L"</div>" ;
+			if(dw_list.GetItemString(row,L"QualityTerm")!=L"")
 			{
-				html +=  "<div style='height:12px'/>";
-				html +=  "<div ><span style='font-weight:700;width:50;font-size:10pt'  >质量:</span></div>" ;
-				html +=  "<div ><span style='margin-left:8px;margin-right:16px;font-weight:400;font-size:10pt'  >" + dw_list.GetItemString(row,"QualityTerm") +  "</span></div>" ;
+				html +=  L"<div style='height:12px'/>";
+				html +=  L"<div ><span style='font-weight:700;width:50;font-size:10pt'  >质量:</span></div>" ;
+				html +=  L"<div ><span style='margin-left:8px;margin-right:16px;font-weight:400;font-size:10pt'  >" + dw_list.GetItemString(row,L"QualityTerm") +  L"</span></div>" ;
 			}
 			
-			if(dw_list.GetItemString(row,"PackTerm")!="")
+			if(dw_list.GetItemString(row,L"PackTerm")!=L"")
 			{
-				html +=  "<div style='height:12px'/>";
-				html +=  "<div ><span style='font-weight:700;width:50;font-size:10pt'  >包装质量:</span></div>" ;
-				html +=  "<div ><span style='margin-left:8px;margin-right:16px;font-weight:400;font-size:10pt' >" + dw_list.GetItemString(row,"PackTerm") +  "</span></div>" ;
+				html +=  L"<div style='height:12px'/>";
+				html +=  L"<div ><span style='font-weight:700;width:50;font-size:10pt'  >包装质量:</span></div>" ;
+				html +=  L"<div ><span style='margin-left:8px;margin-right:16px;font-weight:400;font-size:10pt' >" + dw_list.GetItemString(row,L"PackTerm") +  L"</span></div>" ;
 			}
 			
-			if(g_xdoc_product.getData(0,"data/Item",row,"Remark") != "" && id == "23A8BBA2-DEF1-4C00-978E-646151A6082E")
+			if(g_xdoc_product.getData(0,L"data/Item",row,L"Remark") != L"" && id == L"23A8BBA2-DEF1-4C00-978E-646151A6082E")
 			{
-				html +=  "<div ><span style='font-weight:700;width:50;font-size:10pt'  >备注:</span></div>" ;
-				html +=  "<div ><span style='margin-left:8px;margin-right:16px;font-weight:400;font-size:10pt' >" + g_xdoc_product.getData(0,"data/Item",row,"Remark") +  "</span></div>" ;
+				html +=  L"<div ><span style='font-weight:700;width:50;font-size:10pt'  >备注:</span></div>" ;
+				html +=  L"<div ><span style='margin-left:8px;margin-right:16px;font-weight:400;font-size:10pt' >" + g_xdoc_product.getData(0,L"data/Item",row,L"Remark") +  L"</span></div>" ;
 			}
 
-			html +=  "<div style='height:24px'/>";
+			html +=  L"<div style='height:24px'/>";
 			
 			//星标项
 			html += ls_star;
 
 			//显示图片			
-			/*string picname = "1FA9E331-F95C-4E51-B80C-73FB9B911D8D.jpg";//dw_list.GetItemString(row,"ImgName"); //ItemID+".jpg";
-			string str = picname.mid(0,2);
+			/*xstring picname = L"1FA9E331-F95C-4E51-B80C-73FB9B911D8D.jpg";//dw_list.GetItemString(row,L"ImgName"); //ItemID+L".jpg";
+			xstring str = picname.mid(0,2);
 			str = str.upper();
-			string serversrc ="http://192.168.7.241:1001/business/products/chanpin/"+str+"/"+picname;
-			html +=  "<div ><span style='font-weight:700;width:50;font-size:10pt'  >图片:</span>";
-			html +=  "<control visible='layer' controlclass='ximage'  data='' src='"+ serversrc +"'/></div>";
+			xstring serversrc =L"http://192.168.7.241:1001/business/products/chanpin/"+str+L"/"+picname;
+			html +=  L"<div ><span style='font-weight:700;width:50;font-size:10pt'  >图片:</span>";
+			html +=  L"<control visible='layer' controlclass='ximage'  data='' src='"+ serversrc +L"'/></div>";
 			*/
-			html += "</body></html>";
+			html += L"</body></html>";
 			return html;
 		}
 		
-		string makeGoodscarHtml(int row)
+		xstring makeGoodscarHtml(int row)
 		{
-			string No = dwc_list.GetItemString(row,"RefNo");//获取属性值id					
+			xstring No = dwc_list.GetItemString(row,L"RefNo");//获取属性值id					
 			xml x = GetGoodsPropList(No);
 			
-			string html="<html><style> .text{ font-weight:400} .label { font-weight:400;}</style><body style='margin:2;background-color1:#ccdccc none #f0f0f0 none'>";
-			html += "<div ><span style='font-weight:700;width:50;font-size:10pt'  >编号:</span><span  style='width:90;font-size:10pt'>" + dwc_list.GetItemString(row,"No")+
+			xstring html=L"<html><style> .text(){ font-weight:400} .label { font-weight:400;}</style><body style='margin:2;background-color1:#ccdccc none #f0f0f0 none'>";
+			html += L"<div ><span style='font-weight:700;width:50;font-size:10pt'  >编号:</span><span  style='width:90;font-size:10pt'>" + dwc_list.GetItemString(row,L"No")+
 						"</span></div>";
-			html +=  "<div ><span style='font-weight:700;width:50;font-size:10pt'  >品名:</span><span  style='width:90;font-size:10pt'>" + dwc_list.GetItemString(row,"CName")+
+			html +=  L"<div ><span style='font-weight:700;width:50;font-size:10pt'  >品名:</span><span  style='width:90;font-size:10pt'>" + dwc_list.GetItemString(row,L"CName")+
 						"</span></div>" ;
-			html +=  "<div ><span style='font-weight:700;width:50;font-size:10pt'  >规格:</span><span  style='width:90;font-size:10pt'>" + dwc_list.GetItemString(row,"CSpec")+
+			html +=  L"<div ><span style='font-weight:700;width:50;font-size:10pt'  >规格:</span><span  style='width:90;font-size:10pt'>" + dwc_list.GetItemString(row,L"CSpec")+
 						"</span></div>" ;
 			
-			msxml::IXMLDOMNodeList fields = x.GetXmlDoc().selectNodes("data/field");
-			int len = fields.length;
-			html += "<table>" +
+			KXMLDOMNodeList fields = x.selectNodes(L"data/field");
+			int len = fields.length();
+			html += L"<table>" +
 				"<colgroup span='1' width='80'/>" +
 				"<colgroup span='1' width='120'/>" +
 				"<colgroup span='1' width='420'/>" ;
-			html += "<tr>" ;
-			html += "<td style='text-align:center'>编号</td><td style='text-align:center'>项目</td><td style='text-align:center'>内容</td>" ;
-			html +="</tr>";
+			html += L"<tr>" ;
+			html += L"<td style='text-align:center'>编号</td><td style='text-align:center'>项目</td><td style='text-align:center'>内容</td>" ;
+			html +=L"</tr>";
 			for(int i=0;i<len; i++)
 			{
-				string name = fields.item(i).selectSingleNode("@name").text;
-				string label  = fields.item(i).selectSingleNode("@label").text;
-				html += "<tr>" ;
+				xstring name = fields.item(i).selectSingleNode(L"@name").text();
+				xstring label  = fields.item(i).selectSingleNode(L"@label").text();
+				html += L"<tr>" ;
 				if(i==0)
-					html += "<td rowspan='" + len.toString() + "'>" + No + "</td><td >"+ label +  "</td><td >"+"</td>" ;
+					html += L"<td rowspan='" + len.toString() + L"'>" + No + L"</td><td >"+ label +  L"</td><td >"+L"</td>" ;
 				else
-					html += "<td >"+ label +  "</td><td >"+ g_xdoc_shoppingcart.getData(0,"data/Item",row,name)+"</td>" ;
-				html +="</tr>";
+					html += L"<td >"+ label +  L"</td><td >"+ g_xdoc_shoppingcart.getData(0,L"data/Item",row,name)+L"</td>" ;
+				html +=L"</tr>";
 			}
 			
-			html += "<tr>" ;
-			html += "<td rowspan='3'>" + g_xdoc_shoppingcart.getData(0,"data/Item",row,"PackCode") + "</td><td >包装方式</td><td >"+
-				 g_xdoc_shoppingcart.getData(0,"data/Item",row,"CPack") + "</td>" ;
-			html +="</tr>";
-			html += "<tr height='48'>" ;
-			html += "<td >包装要求</td><td >"+ g_xdoc_shoppingcart.getData(0,"data/Item",row,"PackQualityTerm")+"</td>" ;
-			html +="</tr>";
-			html += "<tr>" ;
-			html += "<td >侧唛</td><td ></td>" ;
-			html +="</tr>";
+			html += L"<tr>" ;
+			html += L"<td rowspan='3'>" + g_xdoc_shoppingcart.getData(0,L"data/Item",row,L"PackCode") + L"</td><td >包装方式</td><td >"+
+				 g_xdoc_shoppingcart.getData(0,L"data/Item",row,L"CPack") + L"</td>" ;
+			html +=L"</tr>";
+			html += L"<tr height='48'>" ;
+			html += L"<td >包装要求</td><td >"+ g_xdoc_shoppingcart.getData(0,L"data/Item",row,L"PackQualityTerm")+L"</td>" ;
+			html +=L"</tr>";
+			html += L"<tr>" ;
+			html += L"<td >侧唛</td><td ></td>" ;
+			html +=L"</tr>";
 	
-			html += "<tr height='72'>" ;
-			html += "<td>" + g_xdoc_shoppingcart.getData(0,"data/Item",row,"QualityCode") + "</td><td >质量要求</td><td >"+
-				 g_xdoc_shoppingcart.getData(0,"data/Item",row,"QualityTerm") + "</td>" ;
-			html +="</tr>";
+			html += L"<tr height='72'>" ;
+			html += L"<td>" + g_xdoc_shoppingcart.getData(0,L"data/Item",row,L"QualityCode") + L"</td><td >质量要求</td><td >"+
+				 g_xdoc_shoppingcart.getData(0,L"data/Item",row,L"QualityTerm") + L"</td>" ;
+			html +=L"</tr>";
 
-			html +="</table>";
+			html +=L"</table>";
 
-			html += "</body></html>";
+			html += L"</body></html>";
 			return html;
 		}		
 
@@ -498,11 +510,11 @@
 			if(!hObject ) return 1;
 			
 			int rw = 0;
-			string ls_nos = "ImportXml:";
+			xstring ls_nos = L"ImportXml:";
 			
-			if (impStr=="")
+			if (impStr==L"")
 			{
-				alert("请选择商品!");
+				alert(L"请选择商品!");
 				return 1;
 			}
 			ls_nos += impStr;
@@ -511,10 +523,10 @@
 			dwc_list.Redraw();
 			dw_list.SelectRow(0,false);
 			dw_list.Redraw();
-			impStr ="";
+			impStr =L"";
 			//alert(ls_nos);
-			win32::SendMessage(hObject,0x401,ls_nos,0);
-			alert("转入完成");
+			SendMessage(hObject,0x401,ls_nos,0);
+			alert(L"转入完成");
 				
 			return 1;
 		}
@@ -526,26 +538,26 @@
 		}
 					
 		//命令发布函数
-		int OnCmdDispatch(string comdid)
+		int OnCmdDispatch(xstring comdid)
 		{
 			int hCursor;
-			string name="";
-			if(comdid=="xmClose")
+			xstring name=L"";
+			if(comdid==L"xmClose")
 			{
 				CloseWindow();
 				return 1;
 			}
-			else if(comdid=="xmImport")
+			else if(comdid==L"xmImport")
 			{
 				OnImport();
 				return 1;
 			}
-			else if(comdid=="xmAdd")
+			else if(comdid==L"xmAdd")
 			{
 				ItemAdd();
 				return 1;
 			}
-			else if(comdid=="xmSearch")
+			else if(comdid==L"xmSearch")
 			{
 				OnSearch();
 				return 1;
@@ -554,9 +566,9 @@
 		}
 		
 		//命令处理事件
-		int OnXCommand(ref TXCommandEvent evt,int param)
+		int OnXCommand(TEvent* evt, LPARAM param)
 		{
-			return OnCmdDispatch(evt.pStrID);
+			return OnCmdDispatch(evt->xcommand.pStrID);
 		}
 				
 		//查找当前树项的顶级目录
@@ -568,19 +580,19 @@
 		}
 		
 		//插入产品类项的子项
-		int MakeGoodsFolderItem(int hItem, string sno)
+		int MakeGoodsFolderItem(int hItem, xstring sno)
 		{
 			xml x = ProductLibraryView::GetTreeChildItems3(sno);
 			if(!x) return 0;
 			
-			msxml::IXMLDOMNodeList nlist = x.GetXmlDoc().SelectNodes("//Item"); 
-			int len = nlist.length;
+			KXMLDOMNodeList nlist = x.selectNodes(L"//Item"); 
+			int len = nlist.length();
 			for (int i = 0; i < len; i++)
 			{	
-				msxml::IXMLDOMElement e = nlist.item(i);
-				string name = e.getAttribute("CName");
-				string no = e.getAttribute("CategoryNo");
-				string label = no.trim() + " " + name;
+				KXMLDOMElement e = nlist.item(i);
+				xstring name = e.getAttribute(L"CName");
+				xstring no = e.getAttribute(L"CategoryNo");
+				xstring label = no.trim() + L" " + name;
 
 				int h= tv_folder.InsertChildItem(hItem,label, trust(e as int),15);				
 				tv_folder.SetItemChild(h,1);
@@ -589,40 +601,40 @@
 		}	
 
 		//插入新产品目录子项
-		int MakeUserGoodsFolderItem(int hItem, string sno)
+		int MakeUserGoodsFolderItem(int hItem, xstring sno)
 		{
 			xml x = ProductLibraryView::GetTreeUserChildItems3(sno);
 			if(!x) return 0;
 			
-			msxml::IXMLDOMNodeList nlist = x.GetXmlDoc().SelectNodes("//Item"); 
-			int len = nlist.length;
+			KXMLDOMNodeList nlist = x.selectNodes(L"//Item"); 
+			int len = nlist.length();
 			for (int i = 0; i < len; i++)
 			{	
-				msxml::IXMLDOMElement e = nlist.item(i);
-				string name = e.getAttribute("CName");
-				string no = e.getAttribute("CategoryNo");
-				string label = no.trim() + " " + name;
+				KXMLDOMElement e = nlist.item(i);
+				xstring name = e.getAttribute(L"CName");
+				xstring no = e.getAttribute(L"CategoryNo");
+				xstring label = no.trim() + L" " + name;
 
 				int h= tv_folder.InsertChildItem(hItem,label, trust(e as int),15);				
-				string child = e.getAttribute("Childs");
-				if(child=="")
+				xstring child = e.getAttribute(L"Childs");
+				if(child==L"")
 					tv_folder.SetItemChild(h,1);
-				else if(child !="0")
+				else if(child !=L"0")
 					tv_folder.SetItemChild(h,1);
 			}
 			return 1;				
 		}	
 				
 		//插入购物车项
-		int ExpandCatChildFolder(int hItem, msxml::IXMLDOMElement ele ,int image)
+		int ExpandCatChildFolder(int hItem, KXMLDOMElement ele ,int image)
 		{
-			msxml::IXMLDOMNodeList nlist = ele.SelectNodes("item");
-			int len = nlist.length;
+			KXMLDOMNodeList nlist = ele.selectNodes(L"item");
+			int len = nlist.length();
 			if(len > 0) tv_folder.SetItemChild(hItem,1);
 			for (int i= 0; i < len; i++)
 			{	
-				msxml::IXMLDOMElement e = nlist.item(i);
-				string name = e.getAttribute("name");
+				KXMLDOMElement e = nlist.item(i);
+				xstring name = e.getAttribute(L"name");
 				int h = tv_folder.InsertChildItem(hItem,name, trust(e as int),image);
 				ExpandCatChildFolder(h,e,35);
 			}
@@ -630,16 +642,16 @@
 		}
 		int MakeGoodCarFolderItem(int hItem)
 		{
-			//trace("\r\nCustomerID:"+CustomerID);
+			//trace(L"\r\nCustomerID:"+CustomerID);
 			xml x = ShoppingCartView::GetRoleList(CustomerID);
-			//if(x) alert(x.GetXml());
+			//if(x) alert(x.xml());
 			if(!x) return 0;
-			msxml::IXMLDOMNodeList nlist = x.GetXmlDoc().SelectNodes("/data/item"); 
-			int len = nlist.length;
+			KXMLDOMNodeList nlist = x.selectNodes(L"/data/item"); 
+			int len = nlist.length();
 			for (int i = 0; i < len; i++)
 			{	
-				msxml::IXMLDOMElement e = nlist.item(i);
-				string name = e.getAttribute("name");
+				KXMLDOMElement e = nlist.item(i);
+				xstring name = e.getAttribute(L"name");
 				int h = tv_folder.InsertChildItem(hItem,name, trust(e as int),35);
 				ExpandCatChildFolder(h,e,35);
 			}
@@ -652,42 +664,42 @@
 			ref NMTREEVIEW nmtv = evt.pnmh;
 			int hItem = nmtv.itemNew.hItem;
 			int hTopItem = LookupTopFolder(hItem);
-			string name = tv_folder.GetItemLabel(hTopItem);	
+			xstring name = tv_folder.GetItemLabel(hTopItem);	
 			int child = tv_folder.GetChildItem(hItem);
-			string no ="";
-			msxml::IXMLDOMElement e;
-			if(name == "公司库" && !child )
+			xstring no =L"";
+			KXMLDOMElement e;
+			if(name == L"公司库" && !child )
 			{	
-				no ="";
+				no =L"";
 				if(hTopItem != hItem)
 				{
 					e= tv_folder.GetItemData(hItem);
-					no = e.getAttribute("categoryid");
+					no = e.getAttribute(L"categoryid");
 				}else
 				{
 					e= tv_folder.GetItemData(hItem);
-					no = e.getAttribute("categoryid");
+					no = e.getAttribute(L"categoryid");
 				}
 				MakeGoodsFolderItem(hItem, no);					
 			}
-			else if(name == "个人库" && !child )
+			else if(name == L"个人库" && !child )
 			{	
-				no ="";
+				no =L"";
 				if(hTopItem != hItem)
 				{
 					e= tv_folder.GetItemData(hItem);
-					no = e.getAttribute("categoryid");
+					no = e.getAttribute(L"categoryid");
 					MakeUserGoodsFolderItem(hItem, no);					
 				}
 			}
-			else if(name == "购物车" && !child )
+			else if(name == L"购物车" && !child )
 			{	
 				if(hItem==hTopItem)MakeGoodCarFolderItem(hItem);					
 			}
 			return 1;
 		}
 		
-		int ResetAgent(string agentAsk)
+		int ResetAgent(xstring agentAsk)
 		{
 			if(agentFor != agentAsk)
 			{
@@ -702,87 +714,87 @@
 		{
 			while(true)
 			{
-				msxml::IXMLDOMElement e1 = cast(tv_folder.GetItemData(hItem) as msxml::IXMLDOMElement);
-				string str = e1.getAttribute("no");
-				if(str.find("Customer:")>=0) return hItem;
+				KXMLDOMElement e1 = cast(tv_folder.GetItemData(hItem) as KXMLDOMElement);
+				xstring str = e1.getAttribute(L"no");
+				if(str.find(L"Customer:")>=0) return hItem;
 				hItem = tv_folder.GetParentItem(hItem);
 				if(hItem==0) break;
 			}
 			return 0;
 		}
 		
-		string LookupCustomer(int hItem)
+		xstring LookupCustomer(int hItem)
 		{
 			hItem = LookupCustomerFolder(hItem);
 			if(hItem==0) return "";
-			msxml::IXMLDOMElement e1 = cast(tv_folder.GetItemData(hItem) as msxml::IXMLDOMElement);
-			string str = e1.getAttribute("no");
-			return str.mid("Customer:".length(),9999);
+			KXMLDOMElement e1 = cast(tv_folder.GetItemData(hItem) as KXMLDOMElement);
+			xstring str = e1.getAttribute(L"no");
+			return str.mid(L"Customer:".length()(),9999);
 		}
 	
 		int RetrieveItem(int hItem)
 		{
 			int hTopItem = LookupTopFolder(hItem);
-			string name = tv_folder.GetItemLabel(hTopItem);
-			string selectname = tv_folder.GetItemLabel(hItem);
-			imageview im = GetControl("im1");
-			m_customer = "";
-			xcontrol query = GetControl("sl_search");
-			string queryString = query.GetText();
+			xstring name = tv_folder.GetItemLabel(hTopItem);
+			xstring selectname = tv_folder.GetItemLabel(hItem);
+			imageview im = GetControl(L"im1");
+			m_customer = L"";
+			xcontrol query = GetControl(L"sl_search");
+			xstring queryString = query.GetText();
 			
-			if(name == "购物车")
+			if(name == L"购物车")
 			{
-				if(agentFor !="goodscar")SwitchLayer("goodscarsheet","sheetframe");
-				ResetAgent("goodscar");
+				if(agentFor !=L"goodscar")SwitchLayer(L"goodscarsheet",L"sheetframe");
+				ResetAgent(L"goodscar");
 				if(selectname !=name)
 				{
-					msxml::IXMLDOMElement e1 = cast(tv_folder.GetItemData(hItem) as msxml::IXMLDOMElement);
-					string str = e1.getAttribute("no");
+					KXMLDOMElement e1 = cast(tv_folder.GetItemData(hItem) as KXMLDOMElement);
+					xstring str = e1.getAttribute(L"no");
 					
-					trace("\r\n-------"+str+"--------"+queryString);
+					trace(L"\r\n-------"+str+L"--------"+queryString);
 				
-					if(str=="Supplier") 
+					if(str==L"Supplier") 
 					{
 						return 1;
 					}
 					//alert(str);
-					if(str.find("Customer:")==0 || str.find("SO:")==0 || str.find("Purcherex:")==0|| str.find("Purcher:")==0 || str.find("Supplier:")==0|| str.find("Enquiry:")==0)
+					if(str.find(L"Customer:")==0 || str.find(L"SO:")==0 || str.find(L"Purcherex:")==0|| str.find(L"Purcher:")==0 || str.find(L"Supplier:")==0|| str.find(L"Enquiry:")==0)
 					{
 						m_customer = LookupCustomer(hItem);
-						if(str.find("Customer:")==0)
+						if(str.find(L"Customer:")==0)
 						{
-							dwc_list.openUrl("/sale/view/ProductLibrary/template/cart/goodscustomerlist"); 
+							dwc_list.openUrl(L"/sale/view/ProductLibrary/template/cart/goodscustomerlist"); 
 						}
 						else
 						{
-							dwc_list.openUrl("/sale/view/ProductLibrary/template/cart/goodssolist");
+							dwc_list.openUrl(L"/sale/view/ProductLibrary/template/cart/goodssolist");
 						}
 						dwc_list.Reset();
 						dwc_list.SetReadOnly(true);
-						dwc_list.SetColumnState("CurrencyCode",false);
+						dwc_list.SetColumnState(L"CurrencyCode",false);
 						//alert(str);
-						if(queryString=="")
+						if(queryString==L"")
 							g_xdoc_shoppingcart.Retrieve(ShoppingCartView::GetGoodsList(str));
 						else
 							g_xdoc_shoppingcart.Retrieve(ShoppingCartView::GetGoodsList(str,queryString));
 					}
-					else if(e1.getAttribute("categoryid") !="")
+					else if(e1.getAttribute(L"categoryid") !=L"")
 					{
-						string categoryid = e1.getAttribute("categoryid");
-						dwc_list.SetDataObject(ProductLibraryView::GetMaintListForm3(categoryid).GetXmlDoc());
+						xstring categoryid = e1.getAttribute(L"categoryid");
+						dwc_list.SetDataObject(ProductLibraryView::GetMaintListForm3(categoryid));
 						dwc_list.SetReadOnly(true);
 						dwc_list.Reset();
-						if(queryString=="")
+						if(queryString==L"")
 							g_xdoc_shoppingcart.Retrieve(ProductLibraryView::GetMaintList3(categoryid ));
 						else
-							g_xdoc_shoppingcart.Retrieve(ProductLibraryView::GetMaintList3(categoryid, queryString,""));
+							g_xdoc_shoppingcart.Retrieve(ProductLibraryView::GetMaintList3(categoryid, queryString,L""));
 					}
 					else
 					{
-						dwc_list.openUrl("/sale/view/ProductLibrary/template/cart/goodslist"); 
+						dwc_list.openUrl(L"/sale/view/ProductLibrary/template/cart/goodslist"); 
 						dwc_list.SetReadOnly(true);
 						dwc_list.Reset();
-						if(queryString=="")
+						if(queryString==L"")
 							g_xdoc_shoppingcart.Retrieve(ShoppingCartView::GetGoodsList(selectname));
 						else
 							g_xdoc_shoppingcart.Retrieve(ShoppingCartView::GetGoodsList(selectname,queryString));
@@ -792,68 +804,68 @@
 
 					if(dwc_list.GetRowCount() >= 1 )
 					{
-						htmlctrl xs = GetControl("html_detail");
+						htmlctrl xs = GetControl(L"html_detail");
 						xs.SetContent(makeGoodscarHtml(1));
 						
-						if(m_customer !="")
+						if(m_customer !=L"")
 						{
-							string skuid = g_xdoc_shoppingcart.getData(0,"data/Item",1,"SKUID");
-							string customerItemNo = g_xdoc_shoppingcart.getData(0,"data/Item",1,"CustomerItemNo");
+							xstring skuid = g_xdoc_shoppingcart.getData(0,L"data/Item",1,L"SKUID");
+							xstring customerItemNo = g_xdoc_shoppingcart.getData(0,L"data/Item",1,L"CustomerItemNo");
 							OnShowImage(skuid,customerItemNo);
 						}
 					} else {						
 						im.ResetEx();
 						im.Redraw();
 
-						xs = GetControl("html_detail");
-						xs.SetContent("<html><body style='margin:2;background-color:#ccdccc none #f0f0f0 none'/></html>");
+						xs = GetControl(L"html_detail");
+						xs.SetContent(L"<html><body style='margin:2;background-color:#ccdccc none #f0f0f0 none'/></html>");
 					}
 					xs.Redraw();
 				}	
 			}
 			else
 			{
-				if(agentFor !="goodslib")SwitchLayer("goodslibsheet","sheetframe");
-				if(name == "个人库") 
-					ResetAgent("userlib");
+				if(agentFor !=L"goodslib")SwitchLayer(L"goodslibsheet",L"sheetframe");
+				if(name == L"个人库") 
+					ResetAgent(L"userlib");
 				else 
-					ResetAgent("goodslib");
+					ResetAgent(L"goodslib");
 				int hCursor = xutil::SetCursorWait();
 
-				if(name == "个人库" || name=="公司库")
+				if(name == L"个人库" || name==L"公司库")
 				{
-					string no="N000005";
-					if(name=="个人库") no="U000005";
+					xstring no=L"N000005";
+					if(name==L"个人库") no=L"U000005";
 					if(hItem != hTopItem)
 					{
-						msxml::IXMLDOMElement e= tv_folder.GetItemData(hItem);
-						no = e.getAttribute("guid");
+						KXMLDOMElement e= tv_folder.GetItemData(hItem);
+						no = e.getAttribute(L"guid");
 					}
-					dw_list.SetDataObject(ProductLibraryView::GetMaintListForm3(no).GetXmlDoc());
-					dw_list = GetControl("dw_list");
+					dw_list.SetDataObject(ProductLibraryView::GetMaintListForm3(no));
+					dw_list = GetControl(L"dw_list");
 					dw_list.Reset();
 					dw_list.SetReadOnly(true);
 					
 					xml x;
-					if(queryString=="")
+					if(queryString==L"")
 					{
-						if(name == "个人库")
+						if(name == L"个人库")
 							x = ProductLibraryView::GetMaintRoleList3(no);
 						else
 							x = ProductLibraryView::GetMaintList3(no);
 					}
 					else
 					{
-						if(name == "个人库")
+						if(name == L"个人库")
 							x = ProductLibraryView::GetMaintRoleList3(no,queryString);
 						else
 						{
-							if(queryString !="")
+							if(queryString !=L"")
 							{
-								if(no=="N000005")
-									x = ProductLibraryView::GetMaintList3("",queryString,"");
+								if(no==L"N000005")
+									x = ProductLibraryView::GetMaintList3(L"",queryString,L"");
 								else
-									x = ProductLibraryView::GetMaintList3(no,queryString,"");
+									x = ProductLibraryView::GetMaintList3(no,queryString,L"");
 							}else
 								x = ProductLibraryView::GetMaintList3(no);
 						}
@@ -864,23 +876,23 @@
 
 					if(dw_list.GetRowCount() >0)
 					{
-						xs = GetControl("html_detail");
+						xs = GetControl(L"html_detail");
 						xs.SetContent(makeHtml(1));
-						string id = g_xdoc_product.getData(0,"data/Item",1,"@guid");
+						xstring id = g_xdoc_product.getData(0,L"data/Item",1,L"@guid");
 						OnShowImage(id);
 					}else
 					{
 						im.ResetEx();
 						im.Redraw();
 
-						xs = GetControl("html_detail");
-						xs.SetContent("<html><body style='margin:2;background-color:#ccdccc none #f0f0f0 none'/></html>");
+						xs = GetControl(L"html_detail");
+						xs.SetContent(L"<html><body style='margin:2;background-color:#ccdccc none #f0f0f0 none'/></html>");
 					}
 					xs.Redraw();
 					xutil::RestoreCursor(hCursor);
 				}
 			}		
-			impStr = "";
+			impStr = L"";
 		}
 					
 		int OnTreeSelChanged(ref TNotifyEvent evt,int p)
@@ -890,15 +902,15 @@
 			return RetrieveItem(hItem);
 		}	
 
-		int  ExpandChildFolder(int hItem, msxml::IXMLDOMElement pElement)
+		int  ExpandChildFolder(int hItem, KXMLDOMElement pElement)
 		{
-			msxml::IXMLDOMNodeList nlist = pElement.SelectNodes("Item");
-			int len = nlist.length;
+			KXMLDOMNodeList nlist = pElement.selectNodes(L"Item");
+			int len = nlist.length();
 			for (int i = 0; i < len; i++)
 			{	
-				msxml::IXMLDOMElement e = nlist.item(i);
-				string name = e.getAttribute("cname");
-				string sImage = e.getAttribute("image");
+				KXMLDOMElement e = nlist.item(i);
+				xstring name = e.getAttribute(L"cname");
+				xstring sImage = e.getAttribute(L"image");
 				int image = 15;
 				//if(sImage) image = sImage.toInt();
 				int h= tv_folder.InsertChildItem(tv_folder.GetId(),hItem,name, trust(e as int),image);				
@@ -910,8 +922,8 @@
 		
 		int  InitialFolder()
 		{
-			msxml::IXMLDOMElement xframeElement =  GetElement();
-			msxml::IXMLDOMElement e =  xframeElement.selectSingleNode("//xtree[@name='tv_folder']/initial");
+			KXMLDOMElement xframeElement =  GetElement();
+			KXMLDOMElement e =  xframeElement.selectSingleNode(L"//xtree[@name='tv_folder']/initial");
 			ExpandChildFolder(0,e);
 			return 1;
 		}
@@ -921,22 +933,22 @@
 			ref DWNMHDR hdr = cast(evt.pnmh as ref DWNMHDR);
 			char ch;
 			int row = hdr.row;
-			string col = hdr.colname;
+			xstring col = hdr.colname;
 			
-			string str = "";
-			if(dw_list.GetItemString(row, "SKUNo") !="") 
-				str =dw_list.GetItemString(row, "SKUNo");
+			xstring str = L"";
+			if(dw_list.GetItemString(row, L"SKUNo") !=L"") 
+				str =dw_list.GetItemString(row, L"SKUNo");
 			else
-				str =dw_list.GetItemString(row, "No");
+				str =dw_list.GetItemString(row, L"No");
 			
 			if(dw_list.IsRowSelected(row) & 0xff)
 			{
 				//will unselect
-				impStr = impStr.replace(" "+str,"");
+				impStr = impStr.replace(L" "+str,L"");
 			}else
 			{
 				//will select
-				impStr += " " + str;
+				impStr += L" " + str;
 			}
 			return 1;
 		}
@@ -946,28 +958,28 @@
 			ref DWNMHDR hdr = cast(evt.pnmh as ref DWNMHDR);
 			char ch;
 			int row = hdr.row;
-			string col = hdr.colname;
+			xstring col = hdr.colname;
 			
-			string str = g_xdoc_shoppingcart.getData(0,"data/Item",row,"SOLineID");
-			//string str1 = g_xdoc_shoppingcart.getData(0,"data/Item",row,"EnquiryLineID");
-			string str1 = g_xdoc_shoppingcart.getData(0,"data/Item",row,"EnquiryPriceListID");
-			if(str1 !="")
-				str += "el:" + str1;
-			else if(str != "")
-				str = "sl:"+str;
-			else if(dwc_list.GetItemString(row, "SKUNo") !="") 
-				str =dwc_list.GetItemString(row, "SKUNo");
+			xstring str = g_xdoc_shoppingcart.getData(0,L"data/Item",row,L"SOLineID");
+			//xstring str1 = g_xdoc_shoppingcart.getData(0,L"data/Item",row,L"EnquiryLineID");
+			xstring str1 = g_xdoc_shoppingcart.getData(0,L"data/Item",row,L"EnquiryPriceListID");
+			if(str1 !=L"")
+				str += L"el:" + str1;
+			else if(str != L"")
+				str = L"sl:"+str;
+			else if(dwc_list.GetItemString(row, L"SKUNo") !=L"") 
+				str =dwc_list.GetItemString(row, L"SKUNo");
 			else
-				str =dwc_list.GetItemString(row, "No");
+				str =dwc_list.GetItemString(row, L"No");
 			
 			if(dwc_list.IsRowSelected(row) & 0xff)
 			{
 				//will unselect
-				impStr = impStr.replace(" "+str,"");
+				impStr = impStr.replace(L" "+str,L"");
 			}else
 			{
 				//will select
-				impStr += " " + str;
+				impStr += L" " + str;
 			}
 			return 1;
 		}
@@ -977,26 +989,26 @@
 			int hCursor = xutil::SetCursorWait();
 			ref DWNMHDR hdr = cast(evt.pnmh as ref DWNMHDR);
 			int row = hdr.row;
-			string ls_nos = "ImportXml:";
-			string str = g_xdoc_shoppingcart.getData(0,"data/Item",row,"SOLineID");
-			string str1 = g_xdoc_shoppingcart.getData(0,"data/Item",row,"EnquiryPriceListID");
-			if(str1 !="")
-				str += "el:" + str1;
-			else if(str != "")
-				str = "sl:"+str;
-			else if(dwc_list.GetItemString(row, "SKUNo") !="") 
-				str =dwc_list.GetItemString(row, "SKUNo");
+			xstring ls_nos = L"ImportXml:";
+			xstring str = g_xdoc_shoppingcart.getData(0,L"data/Item",row,L"SOLineID");
+			xstring str1 = g_xdoc_shoppingcart.getData(0,L"data/Item",row,L"EnquiryPriceListID");
+			if(str1 !=L"")
+				str += L"el:" + str1;
+			else if(str != L"")
+				str = L"sl:"+str;
+			else if(dwc_list.GetItemString(row, L"SKUNo") !=L"") 
+				str =dwc_list.GetItemString(row, L"SKUNo");
 			else
-				str =dwc_list.GetItemString(row, "No");
+				str =dwc_list.GetItemString(row, L"No");
 			ls_nos += str;
 			
 			dw_list.SelectRow(0,false);
 			dwc_list.SelectRow(0,false);
 			dw_list.Redraw();
 			dwc_list.Redraw();
-			impStr ="";
+			impStr =L"";
 			
-			win32::SendMessage(hObject,0x401,ls_nos,0);
+			SendMessage(hObject,0x401,ls_nos,0);
 
 			xutil::RestoreCursor(hCursor);
 			CloseWindow();
@@ -1006,66 +1018,67 @@
 		int OnAttachEvent()
 		{
 			//绑定工具条点击事件
-			AttachEvent("WM_XCOMMAND",OnXCommand);
+			AttachEvent(L"WM_XCOMMAND", (FEvent)&ProductSelectWin::OnXCommand);
 			//获取焦点事件,用于重置工具条
-			AttachEvent("WM_SETFOCUS",OnSetFocus);
-			AttachEvent("dw_list","DWV_ROWFOCUSCHANGED",OnRowChanged);
-			AttachEvent("dwc_list","DWV_ROWFOCUSCHANGED",OnGoodsCarRowChanged);			
-			AttachEvent("tv_folder", "TVN_ITEMEXPANDING",OnTreeExpanding);
-			AttachEvent("tv_folder", "TVN_SELCHANGED",OnTreeSelChanged);
+			AttachEvent(L"WM_SETFOCUS", (FEvent)&ProductSelectWin::OnSetFocus);
+			AttachEvent(L"dw_list",L"DWV_ROWFOCUSCHANGED", (FEvent)&ProductSelectWin::OnRowChanged);
+			AttachEvent(L"dwc_list",L"DWV_ROWFOCUSCHANGED", (FEvent)&ProductSelectWin::OnGoodsCarRowChanged);
+			AttachEvent(L"tv_folder", L"TVN_ITEMEXPANDING", (FEvent)&ProductSelectWin::OnTreeExpanding);
+			AttachEvent(L"tv_folder", L"TVN_SELCHANGED", (FEvent)&ProductSelectWin::OnTreeSelChanged);
 			
-			AttachEvent("dwc_list","DWV_DOUBLECLICKED",OnDoubleClicked);
+			AttachEvent(L"dwc_list",L"DWV_DOUBLECLICKED", (FEvent)&ProductSelectWin::OnDoubleClicked);
 			
-			AttachEvent("WM_COMMAND",OnCkbCLick);	//checkbox打钩事件
-			AttachEvent("WM_COMMAND",OnCkbCLick2);	//checkbox打钩事件	
+			AttachEvent(L"WM_COMMAND", (FEvent)&ProductSelectWin::OnCkbCLick);	//checkbox打钩事件
+			AttachEvent(L"WM_COMMAND", (FEvent)&ProductSelectWin::OnCkbCLick2);	//checkbox打钩事件	
 			
-			AttachEvent("dw_list","DWV_CLICKED",OnDwClicked);
-			AttachEvent("dwc_list","DWV_CLICKED",OnDwcClicked);
+			AttachEvent(L"dw_list",L"DWV_CLICKED", (FEvent)&ProductSelectWin::OnDwClicked);
+			AttachEvent(L"dwc_list",L"DWV_CLICKED", (FEvent)&ProductSelectWin::OnDwcClicked);
+			return 1;
 		}
 
 		int onload()
 		{
-			agentFor = "goodslib";
-			impStr = "";
+			agentFor = L"goodslib";
+			impStr = L"";
 					
 			OnAttachEvent();	
 			
-			tv_folder = GetControl("tv_folder");
-			dw_list 	= GetControl("dw_list");
-			dwc_list = GetControl("dwc_list");
+			tv_folder = GetControl(L"tv_folder");
+			dw_list 	= GetControl(L"dw_list");
+			dwc_list = GetControl(L"dwc_list");
 
 			xaserverarg arg = GetParam();
-			CustomerID = "";
-			m_customer ="";
+			CustomerID = L"";
+			m_customer =L"";
 			hObject = 0;
 			if(arg)
 			{
-				hObject = arg.GetArgString("HWND").toInt();
-				CustomerID = arg.GetArgString("CustomerID");
+				hObject = arg.GetArgString(L"HWND").toInt();
+				CustomerID = arg.GetArgString(L"CustomerID");
 			}
 			InitialFolder();
 			
 			g_xdoc_product = new xdataset;
 			g_xdoc_product.Init();
 			xbind bindproduct = new xbind;
-			bindproduct.bindEx(dw_list, g_xdoc_product,"");
+			bindproduct.bindEx(dw_list, g_xdoc_product,L"");
 			
 			g_xdoc_shoppingcart = new xdataset;
 			g_xdoc_shoppingcart.Init();
 
 			xbind bindcart = new xbind;
-			bindcart.bindEx(dwc_list, g_xdoc_shoppingcart,"");
+			bindcart.bindEx(dwc_list, g_xdoc_shoppingcart,L"");
 
-			dw_list.SetDataObject(ProductLibraryView::GetMaintListForm3("").GetXmlDoc());
-			dw_list = GetControl("dw_list");
+			dw_list.SetDataObject(ProductLibraryView::GetMaintListForm3(L""));
+			dw_list = GetControl(L"dw_list");
 			dw_list.SetReadOnly(true);
 					
-			dwc_list.openUrl("/sale/view/ProductLibrary/template/cart/goodslist"); 
+			dwc_list.openUrl(L"/sale/view/ProductLibrary/template/cart/goodslist"); 
 			dwc_list.SetReadOnly(true);
 
 			if(dw_list.GetRowCount())
 			{
-				htmlctrl xs = GetControl("html_detail");
+				htmlctrl xs = GetControl(L"html_detail");
 				xs.SetContent(makeHtml(1));
 			}
 			

--
Gitblit v1.9.3