From b520858b7365095ec5926b7c1a16e4396d507747 Mon Sep 17 00:00:00 2001
From: LiFan <2308045698@qq.com>
Date: 星期三, 10 七月 2024 11:25:36 +0800
Subject: [PATCH] update

---
 jrj/project/business/Enquiry/Entity.Product.Select.cpp | 1118 +++++++++++++++++++++++++++++-----------------------------
 1 files changed, 567 insertions(+), 551 deletions(-)

diff --git a/jrj/project/business/Enquiry/Entity.Product.Select.cpp b/jrj/project/business/Enquiry/Entity.Product.Select.cpp
index 53cc243..e992a08 100644
--- a/jrj/project/business/Enquiry/Entity.Product.Select.cpp
+++ b/jrj/project/business/Enquiry/Entity.Product.Select.cpp
@@ -1,17 +1,26 @@
-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>
+#include <xcontrol/ximageview.hpp>
+#include "xcontrol/xcheckbox.hpp"
+#include "xcontrol/xshtml.hpp"
 
-unit trade
-[
-	class EntityProductSelectWin : public xwin
+#include "vbusiness/vframe/listwin.vframe.vbusiness.hpp"
+#include "viewobject/view.base.hpp"
+#include "viewobject/shoppingcart.view.hpp"
+#include "viewobject/productlibrary.view.hpp"
+
+using xml = KXMLDOMDocument;
+	class __declspec(dllexport) EntityProductSelectWin : public xwin
 	{
+	public:
 		int hObject = 0;
-		string CustomerID;
-		string SupplierID;
-		string m_customer;
+		xstring CustomerID;
+		xstring SupplierID;
+		xstring m_customer;
 
 		//产品库产品列表
 		xdwgrid	dw_list;
@@ -27,26 +36,33 @@
 
 		xnode	m_agentNode;	//Agent Condition
 		xtreeview tv_folder;
-		string 	agentFor;
-		msxml::IXMLDOMElement imageElement;
+		xstring 	agentFor;
+		KXMLDOMElement imageElement;
 
-		string	impStr;
-		string tname;
-
+		xstring	impStr;
+		xstring tname;
+	public:
+		EntityProductSelectWin(void* implPtr, HWND hWnd) :xwin(implPtr, hWnd) {}
+	public:
+		static EntityProductSelectWin* CreateInstance(void* implPtr, void* hWnd)
+		{
+			EntityProductSelectWin* pWin = new EntityProductSelectWin(implPtr, (HWND)hWnd);
+			return pWin;
+		}
 		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;
@@ -54,144 +70,144 @@
 
 		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");
+			ximageview im = GetControl(L"im1");
 			//im.RemoveImage();
-			im.ResetEx();
+			im.Reset();
 
-			xml xp = new xml;
-			xp.setNativePointer(xml::CreateInstance());
-			xaserverarg arg_pic = new xaserverarg;
+			xml xp ;
+			
+			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"error:" + xstring(xp.xml(), true));
 			}
 			else
 			{
-				//trace(skuid+" "+xp.GetXml());
-				imageElement = xp.GetXmlDoc().documentElement;
-				msxml::IXMLDOMNodeList  nlistp = xp.GetXmlDoc().selectNodes("ImageList/image");
-				int lenp = nlistp.length;
+				//trace(skuid+L" "+xp.xml());
+				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");
+			ximageview im = GetControl(L"im1");
 			//im.RemoveImage();
-			im.ResetEx();
+			im.Reset();
 
-			xml xp = new xml;
-			xp.setNativePointer(xml::CreateInstance());
-			xaserverarg arg_pic = new xaserverarg;
+			xml xp ;
+			
+			xaserverarg arg_pic;
 			arg_pic.setNativePointer(arg_pic.CreateInstance());
-			arg_pic.AddArg("SKUID", skuid);
-			arg_pic.AddArg("CustomerID", m_customer);
-			arg_pic.AddArg("CustomerItemNo", customerItemNo);
+			arg_pic.AddArg(L"SKUID", skuid);
+			arg_pic.AddArg(L"CustomerID", m_customer);
+			arg_pic.AddArg(L"CustomerItemNo", customerItemNo);
 
-			if (url::get("/sale/data/ProductLibrary3/pref/picture/customer/imagelistSKU", arg_pic.GetString(), xp) != 1)
+			if (xurl::get(L"/sale/data/ProductLibrary3/pref/picture/customer/imagelistSKU", arg_pic.GetString(), xp) != 1)
 			{
-				trace("error:" + xp.GetXml());
+				trace(L"error:" + xstring(xp.xml(), true));
 			}
 			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();
 			}
 			return 1;
 		}
 
-		int OnRowChanged(ref TNotifyEvent evt, int p)
+		int OnRowChanged(TEvent* evt, int p)
 		{
-			ref DWNMHDR  hdr = trust(evt.pnmh as ref DWNMHDR);
+			DWNMHDR& hdr = *(DWNMHDR*)evt->notify.pnmh;
 			int row = hdr.row;
 
-			htmlctrl xs = GetControl("html_detail");
-			string html = makeHtml(row);
+			xshtml 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;
 		}
 
-		int OnGoodsCarRowChanged(ref TNotifyEvent evt, int p)
+		int OnGoodsCarRowChanged(TEvent* evt, int p)
 		{
-			ref DWNMHDR  hdr = trust(evt.pnmh as ref DWNMHDR);
+			DWNMHDR& hdr = *(DWNMHDR*)evt->notify.pnmh;
 			int row = hdr.row;
 
-			htmlctrl xs = GetControl("html_detail");
-			string html = makeGoodscarHtml(row);
+			xshtml xs = GetControl(L"html_detail");
+			xstring html = makeGoodscarHtml(row);
 			xs.SetContent(html);
 			xs.Redraw();
-			string id = g_xdoc_shoppingcart.getData(0, "data/Item", row, "SKUID");
-			if (m_customer != "")
+			xstring id = g_xdoc_shoppingcart.getData(0, L"data/Item", row, L"SKUID");
+			if (m_customer != L"")
 			{
-				string customerItemNo = g_xdoc_shoppingcart.getData(0, "data/Item", row, "CustomerItemNo");
+				xstring customerItemNo = g_xdoc_shoppingcart.getData(0, L"data/Item", row, L"CustomerItemNo");
 				OnShowImage(id, customerItemNo);
 			}
 			else
@@ -207,8 +223,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;
@@ -220,30 +236,30 @@
 			return 1;
 		}
 
-		int OnCkbCLick(ref TEvent evt, int p)
+		int OnCkbCLick(TEvent* evt, int p)
 		{
-			xcheckbox cbx_1 = GetControl("frame:cbx1");
-			int state = cbx_1.GetCheck(cbx_1.GetId());
+			xcheckbox cbx_1 = GetControl(L"frame:cbx1");
+			int state = cbx_1.GetCheck();
 			return SetSelectState(dw_list, state);
 		}
 
-		int OnCkbCLick2(ref TEvent evt, int p)
+		int OnCkbCLick2(TEvent* evt, int p)
 		{
-			xcheckbox cbx_2 = GetControl("frame:cbx2");
-			int state = cbx_2.GetCheck(cbx_2.GetId());
+			xcheckbox cbx_2 = GetControl(L"frame:cbx2");
+			int state = cbx_2.GetCheck();
 			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)
+			xml x ;
+			
+			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;
@@ -251,59 +267,59 @@
 
 
 
-		string Up(string name) {
-			string str = name.mid(0, 2);
-			str = str.upper();
-			return xaserver::UploadFile("product" + str, name + ".jpg", this.GetHWND(), "", false);
+		xstring Up(xstring name) {
+			xstring str = name.mid(0, 2);
+			str = str.toUpper();
+			return xaserver::UploadFile(L"product" + str, name + L".jpg",GetHWND(), L"", false);
 		}
 
 		int OnAddImage() {
-			if (m_customer != "") return OnAddImageEx();
+			if (m_customer != L"") return OnAddImageEx();
 			int row = dw_list.GetNextSelectRow(1);
 			if (row < 1) row = dw_list.GetRow();
 			if (row < 1 || row > dw_list.GetRowCount()) return 0;
 
-			msxml::IXMLDOMElement e = g_xdoc_product.getRowElement("data/Item", row);
-			string skuid = g_xdoc_product.getData(0, "data/Item", row, "@guid");
-			string SKUNo = g_xdoc_product.getData(0, "data/Item", row, "SKUNo");
-			string id = ViewObject::GetGuid();
-			string ret1 = Up(id);
-			if (ret1 == "-1") return -1;
-			if (ret1 == "0")
+			KXMLDOMElement e = g_xdoc_product.getRowElement(L"data/Item", row);
+			xstring skuid = g_xdoc_product.getData(0, L"data/Item", row, L"@guid");
+			xstring SKUNo = g_xdoc_product.getData(0, L"data/Item", row, L"SKUNo");
+			xstring id = ViewObject::GetGuid();
+			xstring ret1 = Up(id);
+			if (ret1 == L"-1") return -1;
+			if (ret1 == L"0")
 			{
-				alert("上传图片失败");
+				alert(L"上传图片失败");
 				return -1;
 			}
-			string originfile = ret1;
+			xstring originfile = ret1;
 			//alert(originfile);
-			string ext = originfile.right(7);
-			if (ext.find(".") >= 0)
-				ext = ext.mid(ext.find(".") + 1, 9999);
+			xstring ext = originfile.right(7);
+			if (ext.find(L".") >= 0)
+				ext = ext.mid(ext.find(L".") + 1, 9999);
 			else
-				ext = "jpg";
+				ext = L"jpg";
 
 			// 图片名加入数据库
-			xml x = new xml;
-			x.setNativePointer(xml::CreateInstance());
-			x.LoadXml("<Item update.new='1' update.modify='1' guid='" + id + "'>" +
-				"<ProductPictureID>" + id + "</ProductPictureID>" +
-				"<OriginFile>" + originfile + "</OriginFile>" +
-				"<FileExt>" + ext + "</FileExt>" +
-				"<SKUID>" + skuid + "</SKUID>" +
-				"<Name>[" + SKUNo.trim() + "]</Name>" +
-				"<FileName>" + id + ".jpg</FileName>" +
+			xml x ;
+			
+			x.loadXML(L"<Item update.new='1' update.modify='1' guid='" + id + L"'>" +
+				"<ProductPictureID>" + id + L"</ProductPictureID>" +
+				"<OriginFile>" + originfile + L"</OriginFile>" +
+				"<FileExt>" + ext + L"</FileExt>" +
+				"<SKUID>" + skuid + L"</SKUID>" +
+				"<Name>[" + SKUNo.trim() + L"]</Name>" +
+				"<FileName>" + id + L".jpg</FileName>" +
 				"</Item>"
 			);
 
-			xaserverarg arg = new xaserverarg;
-			arg.setNativePointer(arg.CreateInstance());
-			arg.AddArg("content", x.GetXml());
-			if (url::get("/sale/data/ProductLibrary/image/update", arg.GetString(), x) != 1)
+			xaserverarg arg;
+			
+			arg.AddArg(L"content", x.xml());
+			if (xurl::get(L"/sale/data/ProductLibrary/image/update", arg.GetString(), x) != 1)
 			{
-				alert(x.GetXmlDoc().text);
+				alert(x.text());
 				return -1;
 			}
-			dw_list.SetItemString(row, "pic", "*");
+			dw_list.SetItemString(row, L"pic", L"*");
 			dw_list.Redraw();
 			//刷新一下界面,显示图片
 			OnShowImage(skuid);
@@ -315,50 +331,50 @@
 			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);
-			string skuid = g_xdoc_shoppingcart.getData(0, "data/Item", row, "SKUID");
-			string SKUNo = g_xdoc_shoppingcart.getData(0, "data/Item", row, "SKUID/@__displaystring");
+			KXMLDOMElement e = g_xdoc_shoppingcart.getRowElement(L"data/Item", row);
+			xstring skuid = g_xdoc_shoppingcart.getData(0, L"data/Item", row, L"SKUID");
+			xstring SKUNo = g_xdoc_shoppingcart.getData(0, L"data/Item", row, L"SKUID/@__displaystring");
 			CustomerID = m_customer;
-			string CustomerItemNo = g_xdoc_shoppingcart.getData(0, "data/Item", row, "CustomerItemNo");
-			string id = ViewObject::GetGuid();
-			string ret1 = Up(id);
-			if (ret1 == "-1") return -1;
-			if (ret1 == "0")
+			xstring CustomerItemNo = g_xdoc_shoppingcart.getData(0, L"data/Item", row, L"CustomerItemNo");
+			xstring id = ViewObject::GetGuid();
+			xstring ret1 = Up(id);
+			if (ret1 == L"-1") return -1;
+			if (ret1 == L"0")
 			{
-				alert("上传图片失败");
+				alert(L"上传图片失败");
 				return -1;
 			}
-			string originfile = ret1;
-			string ext = originfile.right(7);
-			if (ext.find(".") >= 0)
-				ext = ext.mid(ext.find(".") + 1, 9999);
+			xstring originfile = ret1;
+			xstring ext = originfile.right(7);
+			if (ext.find(L".") >= 0)
+				ext = ext.mid(ext.find(L".") + 1, 9999);
 			else
-				ext = "jpg";
+				ext = L"jpg";
 
 			// 图片名加入数据库
-			xml x = new xml;
-			x.setNativePointer(xml::CreateInstance());
-			x.LoadXml("<Item update.new='1' update.modify='1' guid='" + id + "'>" +
-				"<ProductPictureID>" + id + "</ProductPictureID>" +
-				"<OriginFile>" + originfile + "</OriginFile>" +
-				"<FileExt>" + ext + "</FileExt>" +
-				"<SKUID>" + skuid + "</SKUID>" +
-				"<CustomerItemNo>" + CustomerItemNo + "</CustomerItemNo>" +
-				"<CustomerID>" + CustomerID + "</CustomerID>" +
-				"<Name>[" + SKUNo.trim() + "]</Name>" +
-				"<FileName>" + id + ".jpg</FileName>" +
+			xml x ;
+			
+			x.loadXML(L"<Item update.new='1' update.modify='1' guid='" + id + L"'>" +
+				"<ProductPictureID>" + id + L"</ProductPictureID>" +
+				"<OriginFile>" + originfile + L"</OriginFile>" +
+				"<FileExt>" + ext + L"</FileExt>" +
+				"<SKUID>" + skuid + L"</SKUID>" +
+				"<CustomerItemNo>" + CustomerItemNo + L"</CustomerItemNo>" +
+				"<CustomerID>" + CustomerID + L"</CustomerID>" +
+				"<Name>[" + SKUNo.trim() + L"]</Name>" +
+				"<FileName>" + id + L".jpg</FileName>" +
 				"</Item>"
 			);
 
-			xaserverarg arg = new xaserverarg;
-			arg.setNativePointer(arg.CreateInstance());
-			arg.AddArg("content", x.GetXml());
-			if (url::get("/sale/data/ProductLibrary/image/update", arg.GetString(), x) != 1)
+			xaserverarg arg;
+			
+			arg.AddArg(L"content", x.xml());
+			if (xurl::get(L"/sale/data/ProductLibrary/image/update", arg.GetString(), x) != 1)
 			{
-				alert(x.GetXmlDoc().text);
+				alert(x.text());
 				return -1;
 			}
-			dwc_list.SetItemString(row, "pic", "*");
+			dwc_list.SetItemString(row, L"pic", L"*");
 			dwc_list.Redraw();
 			//刷新一下界面,显示图片
 			OnShowImage(skuid, CustomerItemNo);
@@ -371,318 +387,318 @@
 			if (row < 1) row = dwc_list.GetRow();
 			if (row < 1 || row > dwc_list.GetRowCount()) return 0;
 
-			imageview im = GetControl("im1");
+			ximageview im = GetControl(L"im1");
 			int index = im.GetSelectIndex();
 			int count = im.GetImageCount();
 
 			if (count < 1) return 1;
 
-			msxml::IXMLDOMNodeList images = imageElement.selectNodes("image");
-			int length = images.length;
+			KXMLDOMNodeList images = imageElement.selectNodes(L"image");
+			int length = images.length();
 			if (length < index) return 1;
 
 			int MB_OKCANCEL = 0x00000001;
 			int IDOK = 1;
-			if (win32::MessageBox(GetHWND(), "确认删除当前图片?", "提示", MB_OKCANCEL) != IDOK) return 1;
+			if (MessageBox(GetHWND(), L"确认删除当前图片?", L"提示", MB_OKCANCEL) != IDOK) return 1;
 
-			string id = images.item(index).selectSingleNode("@guid").text;
+			xstring id = images.item(index).selectSingleNode(L"@guid").text();
 
-			xml x = new xml;
-			x.setNativePointer(xml::CreateInstance());
-			xaserverarg arg = new xaserverarg;
-			arg.setNativePointer(arg.CreateInstance());
-			string str = "<Item update.modify='1' update.delete='1' guid='" + id + "'/>";
-			arg.AddArg("content", str);
-			if (url::get("/sale/data/ProductLibrary/image/update", arg.GetString(), x) != 1)
+			xml x ;
+			
+			xaserverarg arg;
+			
+			xstring str = L"<Item update.modify='1' update.delete='1' guid='" + id + L"'/>";
+			arg.AddArg(L"content", str);
+			if (xurl::get(L"/sale/data/ProductLibrary/image/update", arg.GetString(), x) != 1)
 			{
-				alert(x.GetXmlDoc().text);
+				alert(x.text());
 				return -1;
 			}
 			if (count == 1)
 			{
-				dwc_list.SetItemString(row, "pic", "");
+				dwc_list.SetItemString(row, L"pic", L"");
 				dwc_list.Redraw();
 			}
 
-			string skuid = g_xdoc_shoppingcart.getData(0, "data/Item", row, "SKUID");
-			string SKUNo = g_xdoc_shoppingcart.getData(0, "data/Item", row, "SKUID/@__displaystring");
+			xstring skuid = g_xdoc_shoppingcart.getData(0, L"data/Item", row, L"SKUID");
+			xstring SKUNo = g_xdoc_shoppingcart.getData(0, L"data/Item", row, L"SKUID/@__displaystring");
 			CustomerID = m_customer;
-			string CustomerItemNo = g_xdoc_shoppingcart.getData(0, "data/Item", row, "CustomerItemNo");
+			xstring CustomerItemNo = g_xdoc_shoppingcart.getData(0, L"data/Item", row, L"CustomerItemNo");
 			OnShowImage(skuid, CustomerItemNo);
 
 			return 1;
 		}
 
 		int OnDeleteImage() {
-			if (m_customer != "") return OnDeleteImageEx();
+			if (m_customer != L"") return OnDeleteImageEx();
 
 			int row = dw_list.GetNextSelectRow(1);
 			if (row < 1) row = dw_list.GetRow();
 			if (row < 1 || row > dw_list.GetRowCount()) return 0;
 
-			imageview im = GetControl("im1");
+			ximageview im = GetControl(L"im1");
 			int index = im.GetSelectIndex();
 			int count = im.GetImageCount();
 
 			if (count < 1) return 1;
 
-			msxml::IXMLDOMNodeList images = imageElement.selectNodes("image");
-			int length = images.length;
+			KXMLDOMNodeList images = imageElement.selectNodes(L"image");
+			int length = images.length();
 			if (length < index) return 1;
 
 			int MB_OKCANCEL = 0x00000001;
 			int IDOK = 1;
-			if (win32::MessageBox(GetHWND(), "确认删除当前图片?", "提示", MB_OKCANCEL) != IDOK) return 1;
+			if (MessageBox(GetHWND(), L"确认删除当前图片?", L"提示", MB_OKCANCEL) != IDOK) return 1;
 
-			string id = images.item(index).selectSingleNode("@guid").text;
+			xstring id = images.item(index).selectSingleNode(L"@guid").text();
 
-			xml x = new xml;
-			x.setNativePointer(xml::CreateInstance());
-			xaserverarg arg = new xaserverarg;
-			arg.setNativePointer(arg.CreateInstance());
-			string str = "<Item update.modify='1' update.delete='1' guid='" + id + "'/>";
-			arg.AddArg("content", str);
-			if (url::get("/sale/data/ProductLibrary/image/update", arg.GetString(), x) != 1)
+			xml x ;
+			
+			xaserverarg arg;
+			
+			xstring str = L"<Item update.modify='1' update.delete='1' guid='" + id + L"'/>";
+			arg.AddArg(L"content", str);
+			if (xurl::get(L"/sale/data/ProductLibrary/image/update", arg.GetString(), x) != 1)
 			{
-				alert(x.GetXmlDoc().text);
+				alert(x.text());
 				return -1;
 			}
 			if (count == 1)
 			{
-				dw_list.SetItemString(row, "pic", "");
+				dw_list.SetItemString(row, L"pic", L"");
 				dw_list.Redraw();
 			}
 
-			msxml::IXMLDOMElement e1 = g_xdoc_product.getRowElement("data/Item", row);
-			string skuid = e1.getAttribute("guid");
+			KXMLDOMElement e1 = g_xdoc_product.getRowElement(L"data/Item", row);
+			xstring skuid = e1.getAttribute(L"guid");
 			OnShowImage(skuid);
 
 			return 1;
 		}
 
-		xml  GetGoodsPropListEx(string guid)
+		xml  GetGoodsPropListEx(xstring guid)
 		{
-			xml x = new xml;
-			x.setNativePointer(xml::CreateInstance());
-			string fields = "<data>";
+			xml x ;
+			
+			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 (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;
 		}
 
@@ -691,22 +707,22 @@
 			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;
 			}
-			if (tname == "已询价产品")
+			if (tname == L"已询价产品")
 			{
 				int row = dwc_list.GetNextSelectRow(1);
 				while (row > 0)
 				{
 
-					if (dwc_list.GetItemString(row, "pic") != "*")
+					if (dwc_list.GetItemString(row, L"pic") != L"*")
 					{
-						alert("第" + row.toString() + "行请增加产品图片!");
+						alert(L"第" + row.toString() + L"行请增加产品图片!");
 						return 1;
 					}
 					row = dwc_list.GetNextSelectRow(row + 1);
@@ -716,9 +732,9 @@
 				row = dw_list.GetNextSelectRow(1);
 				while (row > 0)
 				{
-					if (dw_list.GetItemString(row, "pic") != "*")
+					if (dw_list.GetItemString(row, L"pic") != L"*")
 					{
-						alert("第" + row.toString() + "行请增加产品图片!");
+						alert(L"第" + row.toString() + L"行请增加产品图片!");
 						return 1;
 					}
 					row = dw_list.GetNextSelectRow(row + 1);
@@ -730,10 +746,10 @@
 			dwc_list.Redraw();
 			dw_list.SelectRow(0, false);
 			dw_list.Redraw();
-			impStr = "";
+			impStr = L"";
 
-			win32::SendMessage(hObject, 0x401, ls_nos, 0);
-			alert("转入完成!");
+			SendMessage(hObject, 0x401, ls_nos, 0);
+			alert(L"转入完成!");
 
 			return 1;
 		}
@@ -749,8 +765,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);
 
@@ -758,36 +774,36 @@
 		}
 
 		//命令发布函数
-		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 == "xmSearch")
+			else if (comdid == L"xmSearch")
 			{
 				OnSearch();
 				return 1;
 			}
-			else if (comdid == "xmAdd")
+			else if (comdid == L"xmAdd")
 			{
 				ItemAdd();
 				return 1;
 			}
-			else if (comdid == "xmMaint")
+			else if (comdid == L"xmMaint")
 			{
 				ItemMaint();
 				return 1;
 			}
-			else if (comdid == "xmDelete")
+			else if (comdid == L"xmDelete")
 			{
 				int row = dw_list.GetRow();
 				if (row < 1) return 1;
@@ -795,11 +811,11 @@
 
 				return 1;
 			}
-			else if (comdid == "xmAddImage")
+			else if (comdid == L"xmAddImage")
 			{
 				return OnAddImage();
 			}
-			else if (comdid == "xmDeleteImage")
+			else if (comdid == L"xmDeleteImage")
 			{
 				return OnDeleteImage();
 			}
@@ -810,62 +826,62 @@
 		{
 			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.NewProductEx.vx]", p);
-			if (arg.GetArgString("data.modify") == "1")RetrieveItem(hItem);
+			OpenWindow(L"dev:xpage[Quick.Input.NewProductEx.vx]", p);
+			if (arg.GetArgString(L"data.modify") == L"1")RetrieveItem(hItem);
 			return 1;
 		}
 
 		int ItemMaint()
 		{
 			int hItem = tv_folder.GetSelectedItem();
-			msxml::IXMLDOMElement e = tv_folder.GetItemData(hItem);
-			//string no = e.getAttribute("no");
-			//if(no=="") return 1;
-			string guid = e.getAttribute("guid");
-			if (guid == "") return 1;
+			KXMLDOMElement e = tv_folder.GetItemData(hItem);
+			//xstring no = e.getAttribute(L"no");
+			//if(no==L"") return 1;
+			xstring guid = e.getAttribute(L"guid");
+			if (guid == L"") return 1;
 
 			/*
-			if(no=="NP0000FS" || no=="UP0000FS")
+			if(no==L"NP0000FS" || no==L"UP0000FS")
 			{
-				OpenWindow("dev:xpage[PackSchemaMaint.goodslib.vx]");
+				OpenWindow(L"dev:xpage[PackSchemaMaint.goodslib.vx]");
 			}else
 			{
 				int pr = g_xdoc_product;
-				OpenWindow("dev:xpage[ProductLibraryItemMaint.vx]",pr);
+				OpenWindow(L"dev:xpage[ProductLibraryItemMaint.vx]",pr);
 			}
 			*/
-			//msxml::IXMLDOMElement ele = g_xdoc_product.getRowElement("data/Item", 1);
+			//KXMLDOMElement ele = g_xdoc_product.getRowElement(L"data/Item", 1);
 			//alert(ele.xml);
 
 			int pr = g_xdoc_product;
-			OpenWindow("dev:xpage[ProductLibraryItemMaint3.vx]", pr);
+			OpenWindow(L"dev:xpage[ProductLibraryItemMaint3.vx]", pr);
 
 			return 1;
 		}
 
 		//命令处理事件
-		int OnXCommand(ref TXCommandEvent evt, int param)
+		int OnXCommand(TEvent* evt, LPARAM param)
 		{
-			return OnCmdDispatch(evt.pStrID);
+			return OnCmdDispatch(evt->xcommand.pStrID);
 		}
 
 		//查找当前树项的顶级目录
@@ -877,19 +893,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);
@@ -898,40 +914,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);
 			}
@@ -941,12 +957,12 @@
 		{
 			xml x = ShoppingCartView::GetSupplierRoleList(SupplierID);
 			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);
 			}
@@ -959,44 +975,44 @@
 			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;
+			xstring no = L"";
+			KXMLDOMElement e;
 
-			if (name == "公司库" && !child)
+			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)
 			{
@@ -1011,86 +1027,86 @@
 		{
 			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);
 			tname = 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();
-			if (hTopItem == 0 && queryString != "")
+			xstring selectname = tv_folder.GetItemLabel(hItem);
+			ximageview im = GetControl(L"im1");
+			m_customer = L"";
+			xcontrol query = GetControl(L"sl_search");
+			xstring queryString = query.GetText();
+			if (hTopItem == 0 && queryString != L"")
 			{
-				tname = "已询价产品";
-				selectname = "已询价产品";
+				tname = L"已询价产品";
+				selectname = L"已询价产品";
 			}
-			if (tname == "已询价产品")
+			if (tname == L"已询价产品")
 			{
-				if (agentFor != "goodscar")SwitchLayer("goodscarsheet", "sheetframe");
-				ResetAgent("goodscar");
+				if (agentFor != L"goodscar")SwitchLayer(L"goodscarsheet", L"sheetframe");
+				ResetAgent(L"goodscar");
 				if (selectname != tname)
 				{
-					msxml::IXMLDOMElement e1 = cast(tv_folder.GetItemData(hItem) as msxml::IXMLDOMElement);
-					string str = e1.getAttribute("no");
-					if (str == "Supplier") return 1;
-					if (str.find("Customer:") == 0 || str.find("SO:") == 0 || str.find("Supplier:") == 0 || str.find("Enquiry:") == 0)
+					KXMLDOMElement e1 = cast(tv_folder.GetItemData(hItem) as KXMLDOMElement);
+					xstring str = e1.getAttribute(L"no");
+					if (str == L"Supplier") return 1;
+					if (str.find(L"Customer:") == 0 || str.find(L"SO:") == 0 || str.find(L"Supplier:") == 0 || str.find(L"Enquiry:") == 0)
 					{
 						m_customer = LookupCustomer(hItem);
-						if (str.find("Customer:") == 0)
-							dwc_list.openUrl("/sale/view/ProductLibrary/template/cart/goodscustomerlist");
+						if (str.find(L"Customer:") == 0)
+							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);
-						if (queryString == "")
+						if (queryString == L"")
 							g_xdoc_shoppingcart.Retrieve(ShoppingCartView::GetGoodsList(str));
 						else
 							g_xdoc_shoppingcart.Retrieve(ShoppingCartView::GetGoodsList(str, queryString));
-						if (str.find("Supplier:") == 0)
+						if (str.find(L"Supplier:") == 0)
 						{
 							if (dwc_list.GetRowCount() > 0)
 							{
-								OnShowImage(dwc_list.GetItemString(1, "SKUID"));
+								OnShowImage(dwc_list.GetItemString(1, L"SKUID"));
 							}
 						}
 					}
-					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/goodssolist");
+						dwc_list.openUrl(L"/sale/view/ProductLibrary/template/cart/goodssolist");
 						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));
@@ -1100,13 +1116,13 @@
 
 					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);
 						}
 					}
@@ -1114,20 +1130,20 @@
 						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 (queryString == "")
+					if (queryString == L"")
 					{
 						return 0;
 					}
 					else
 					{
-						str = "Supplier:All";
+						str = L"Supplier:All";
 						g_xdoc_shoppingcart.Retrieve(ShoppingCartView::GetGoodsList(str, queryString));
 						dwc_list.PostRetrieve();
 						dwc_list.Redraw();
@@ -1136,34 +1152,34 @@
 			}
 			else
 			{
-				if (agentFor != "goodslib")SwitchLayer("goodslibsheet", "sheetframe");
-				if (tname == "个人库")
-					ResetAgent("userlib");
+				if (agentFor != L"goodslib")SwitchLayer(L"goodslibsheet", L"sheetframe");
+				if (tname == L"个人库")
+					ResetAgent(L"userlib");
 				else
-					ResetAgent("goodslib");
+					ResetAgent(L"goodslib");
 				int hCursor = xutil::SetCursorWait();
-				if (tname == "个人库" || tname == "公司库")
+				if (tname == L"个人库" || tname == L"公司库")
 				{
-					string no = "N000005";
-					if (tname == "个人库") no = "U000005";
+					xstring no = L"N000005";
+					if (tname == 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 = GetControl("dw_list");
-					dw_list.SetDataObject(ProductLibraryView::GetMaintListForm3(no).GetXmlDoc());
+					dw_list = GetControl(L"dw_list");
+					dw_list.SetDataObject(ProductLibraryView::GetMaintListForm3(no));
 					dw_list.Reset();
 					dw_list.SetReadOnly(true);
-					dw_list.SetColumnState("Submitter1", false);
-					dw_list.SetColumnState("HSCode", false);
+					dw_list.SetColumnState(L"Submitter1", false);
+					dw_list.SetColumnState(L"HSCode", false);
 
 					xml x;
-					if (queryString == "")
+					if (queryString == L"")
 					{
-						if (tname == "个人库")
+						if (tname == L"个人库")
 							x = ProductLibraryView::GetMaintRoleList3(no);
 						else
 							x = ProductLibraryView::GetMaintList3(no);
@@ -1175,18 +1191,18 @@
 					}
 					else
 					{
-						if (tname == "个人库")
+						if (tname == 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);
@@ -1198,9 +1214,9 @@
 
 					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
@@ -1208,14 +1224,14 @@
 						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)
@@ -1225,15 +1241,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);
@@ -1245,8 +1261,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;
 		}
@@ -1256,23 +1272,23 @@
 			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;
 		}
@@ -1282,24 +1298,24 @@
 			ref DWNMHDR hdr = cast(evt.pnmh as ref DWNMHDR);
 			char ch;
 			int row = hdr.row;
-			string col = hdr.colname;
-			string str = g_xdoc_shoppingcart.getData(0, "data/Item", row, "SOLineID");
-			if (str != "")
-				str = "sl:" + str;
-			else if (dwc_list.GetItemString(row, "SKUNo") != "")
-				str = dwc_list.GetItemString(row, "SKUNo");
+			xstring col = hdr.colname;
+			xstring str = g_xdoc_shoppingcart.getData(0, L"data/Item", row, L"SOLineID");
+			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;
 		}
@@ -1310,25 +1326,25 @@
 			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 = "";
-			win32::SendMessage(hObject, 0x401, ls_nos, 0);
+			impStr = L"";
+			SendMessage(hObject, 0x401, ls_nos, 0);
 			xutil::RestoreCursor(hCursor);
 			CloseWindow();
 			return 1;
@@ -1340,25 +1356,25 @@
 			int row = hdr.row;
 			if (row > 0)
 			{
-				if (dw_list.GetItemString(row, "pic") != "*")
+				if (dw_list.GetItemString(row, L"pic") != L"*")
 				{
-					alert("第" + row.toString() + "行请增加产品图片!");
+					alert(L"第" + row.toString() + L"行请增加产品图片!");
 					return 1;
 				}
 			}
-			string ls_nos = "ImportXml:";
-			string str = "";
-			if (dw_list.GetItemString(row, "SKUNo") != "")
-				str = dw_list.GetItemString(row, "SKUNo");
+			xstring ls_nos = L"ImportXml:";
+			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");
 			ls_nos += str;
 			dw_list.SelectRow(0, false);
 			dwc_list.SelectRow(0, false);
 			dw_list.Redraw();
 			dwc_list.Redraw();
-			impStr = "";
-			win32::SendMessage(hObject, 0x401, ls_nos, 0);
+			impStr = L"";
+			SendMessage(hObject, 0x401, ls_nos, 0);
 			xutil::RestoreCursor(hCursor);
 			CloseWindow();
 			return 1;
@@ -1367,71 +1383,71 @@
 		int OnAttachEvent()
 		{
 			//绑定工具条点击事件
-			AttachEvent("WM_XCOMMAND", OnXCommand);
+			AttachEvent(L"WM_XCOMMAND", (FEvent)&BasicFareList::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("WM_COMMAND", OnCkbCLick);	//checkbox打钩事件
-			AttachEvent("WM_COMMAND", OnCkbCLick2);	//checkbox打钩事件	
+			AttachEvent(L"WM_SETFOCUS", (FEvent)&BasicFareList::OnSetFocus);
+			AttachEvent(L"dw_list", L"DWV_ROWFOCUSCHANGED", (FEvent)&BasicFareList::OnRowChanged);
+			AttachEvent(L"dwc_list", L"DWV_ROWFOCUSCHANGED", (FEvent)&BasicFareList::OnGoodsCarRowChanged);
+			AttachEvent(L"tv_folder", L"TVN_ITEMEXPANDING", (FEvent)&BasicFareList::OnTreeExpanding);
+			AttachEvent(L"tv_folder", L"TVN_SELCHANGED", (FEvent)&BasicFareList::OnTreeSelChanged);
+			AttachEvent(L"WM_COMMAND", (FEvent)&BasicFareList::OnCkbCLick);	//checkbox打钩事件
+			AttachEvent(L"WM_COMMAND", (FEvent)&BasicFareList::OnCkbCLick2);	//checkbox打钩事件	
 
-			AttachEvent("dwc_list", "DWV_DOUBLECLICKED", OnDwcDoubleClicked);
-			AttachEvent("dw_list", "DWV_DOUBLECLICKED", OnDwDoubleClicked);
+			AttachEvent(L"dwc_list", L"DWV_DOUBLECLICKED", (FEvent)&BasicFareList::OnDwcDoubleClicked);
+			AttachEvent(L"dw_list", L"DWV_DOUBLECLICKED", (FEvent)&BasicFareList::OnDwDoubleClicked);
 
-			AttachEvent("dw_list", "DWV_CLICKED", OnDwClicked);
-			AttachEvent("dwc_list", "DWV_CLICKED", OnDwcClicked);
+			AttachEvent(L"dw_list", L"DWV_CLICKED", (FEvent)&BasicFareList::OnDwClicked);
+			AttachEvent(L"dwc_list", L"DWV_CLICKED", (FEvent)&BasicFareList::OnDwcClicked);
 		}
 
 		int onload()
 		{
-			agentFor = "goodslib";
-			impStr = "";
+			agentFor = L"goodslib";
+			impStr = L"";
 
 			OnAttachEvent();
 			imageElement = 0;
 
-			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 = "";
-			SupplierID = "";
-			m_customer = "";
+			CustomerID = L"";
+			SupplierID = L"";
+			m_customer = L"";
 			hObject = 0;
 			if (arg)
 			{
-				hObject = arg.GetArgString("HWND").toInt();
-				CustomerID = arg.GetArgString("CustomerID");
-				CustomerID = arg.GetArgString("SupplierID");
+				hObject = arg.GetArgString(L"HWND").toInt();
+				CustomerID = arg.GetArgString(L"CustomerID");
+				CustomerID = arg.GetArgString(L"SupplierID");
 			}
 			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);
-			dw_list.SetColumnState("Submitter1", false);
-			dw_list.SetColumnState("HSCode", false);
+			dw_list.SetColumnState(L"Submitter1", false);
+			dw_list.SetColumnState(L"HSCode", false);
 
-			dwc_list.openUrl("/sale/view/ProductLibrary/template/cart/goodssolist");
+			dwc_list.openUrl(L"/sale/view/ProductLibrary/template/cart/goodssolist");
 			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