From aca1cda66c85390941657258fbd7ccaf82b3200c Mon Sep 17 00:00:00 2001
From: xj qian <qianxj15@sina.com>
Date: 星期二, 09 七月 2024 10:28:37 +0800
Subject: [PATCH] update ap ar  enquery

---
 jrj/project/business/Enquiry.list.cpp |  289 ++++++++++++++++++++++++---------------------------------
 1 files changed, 121 insertions(+), 168 deletions(-)

diff --git a/jrj/project/business/Enquiry.list.cpp b/jrj/project/business/Enquiry.list.cpp
index f46437b..9e6968c 100644
--- a/jrj/project/business/Enquiry.list.cpp
+++ b/jrj/project/business/Enquiry.list.cpp
@@ -1,6 +1,7 @@
 #include <wobject/xstring.hpp>
 #include <xcontrol/xtreeview.hpp>
 #include <xcontrol/xdwgrid.hpp>
+#include <xcontrol/xcheckbox.hpp>
 
 #include "vbusiness/vframe/listwin.vframe.vbusiness.hpp"
 #include "viewobject/view.base.hpp"
@@ -60,7 +61,7 @@
 			if(agent)
 			{
 				xstring s = agent.xml();
-				m_agentNode =  SetAgentNodeContent (anode,s);
+				m_agentNode =  SetAgentNode(anode,s);
 			}
 		//}
 		return 1;
@@ -131,7 +132,7 @@
 		}*/
 		tools +=L"</vbox>";
 		//trace(tools);
-		SetAgentNodeContent(anode, tools);
+		SetAgentNode(anode, tools);
 
 		return 1;
 	}
@@ -295,7 +296,6 @@
 				alert(L"淇濆瓨澶辫触!");
 			}
 		}
-		if(x) x.Free();
 		
 		return 1;
 	}
@@ -309,7 +309,7 @@
 		xstring Subject = L"浠锋牸鍗曞凡鍏变韩["+CName+L"]";
 		xstring Category = L"浠锋牸鍗曞叡浜�";
 		xstring Content  = L"";
-		KXMLDOMDocument x = ViewObject::AddMessage(Category, Reciever, NO, EntityID, Subject, Content);
+		ViewObject::AddMessage(Category, Reciever, NO, EntityID, Subject, Content);
 		return 1;
 	}
 	int SendNotice(xml content)
@@ -390,16 +390,14 @@
 			dw_pricelist.DwUpdateAllToEx(x0);
 			if(x0.xml() !=L"")
 			{
-				xml x1 = xml::Make();
+				xml x1;
 				dw_priceitem.DwUpdateAllToEx(x1);
 				if(x0.documentElement())
 				{
 					if(x1.documentElement())
 						x0.documentElement().appendChild(x1.documentElement());
 				}			
-				x1.Free();
 				arg.AddArg(L"content", x0.xml() );	
-				x0.Free();
 				if(xurl::get(L"/sale/data/Enquiry/update/pricelist", arg.GetString(),x)!=1)
 				{
 					error = x.text();
@@ -440,13 +438,11 @@
 				alert(L"淇濆瓨鎴愬姛!"); 
 				OnProductPriceShareRetrieve();//鍒锋柊鏁版嵁
 				SendNotice(x2);//鍙戦�侀�氱煡
-				x2.Free();
 			}else 
 			{
 				alert(L"鍏变韩鏁版嵁淇濆瓨澶辫触!");
 			}
 		}
-		x.Free();
 		
 		return 1;
 	}
@@ -495,11 +491,11 @@
 	int OnPreRetrieve()
 	{
 	
-		int hItem = tv_folder.GetSelectedItem();
+		HTREEITEM hItem = tv_folder.GetSelectedItem();
 		if(hItem <=0) return 1;
 		
-		int 	hCursor = xutil::SetCursorWait();
-		KXMLDOMElement e1 = cast(tv_folder.GetItemData(hItem) as KXMLDOMElement);
+		HCURSOR 	hCursor = xutil::SetCursorWait();
+		KXMLDOMElement e1 = tv_folder.GetItemData(hItem);
 		xstring no = e1.getAttribute(L"no");
 		xml x = 0;
 		if(!(no ==L"Category:All" && IsEmptyQueryStr(m_QueryTxt)))
@@ -510,9 +506,9 @@
 			dw_list.Redraw();
 		}else
 		{
-			dw_list.ResetEx();
+			dw_list.Reset();
 			dw_list.Redraw();
-			dw_goods.ResetEx();
+			dw_goods.Reset();
 			dw_goods.Redraw();
 		}
 		
@@ -524,9 +520,9 @@
 			dw_list2.Redraw();
 		}else
 		{
-			dw_list2.ResetEx();
+			dw_list2.Reset();
 			dw_list2.Redraw();
-			dw_goods2.ResetEx();
+			dw_goods2.Reset();
 			dw_goods2.Redraw();
 		}
 		
@@ -536,9 +532,9 @@
 			dw_list1.Redraw();
 		}else
 		{
-			dw_list1.ResetEx();
+			dw_list1.Reset();
 			dw_list1.Redraw();
-			dw_goods1.ResetEx();
+			dw_goods1.Reset();
 			dw_goods1.Redraw();
 		}
 		x = ViewObject::RetrieveData(myDataUrl1,L"no",no,L"QueryTxt", m_QueryTxt);
@@ -548,9 +544,9 @@
 			dw_list1.Redraw();
 		}else
 		{
-			dw_list1.ResetEx();
+			dw_list1.Reset();
 			dw_list1.Redraw();
-			dw_goods1.ResetEx();
+			dw_goods1.Reset();
 			dw_goods1.Redraw();
 		}
 		dw_list1.SetReadOnly(true);
@@ -568,29 +564,25 @@
 		if(row>0)
 		{					
 			KXMLDOMElement e =dw_list.GetRowElement(row);
-			xaserverarg arg=new xaserverarg;
-			arg.setNativePointer(arg.CreateInstance());	
+			xaserverarg arg;	
 			xstring sCustomerID = e.selectSingleNode(L"CustomerID").text(); 
 			arg.AddArg(L"CustomerID",sCustomerID,L"");
 			xstring sCustomerName = e.selectSingleNode(L"CustomerName").text(); 
 			arg.AddArg(L"CustomerName",sCustomerName,L"");
 			arg.AddArg(L"EntityName",GetEntityName(1),L"");
 			arg.AddArg(L"EntityID",GetEntityID(1),L"");
-			int p = arg.ptr_native_;
-			openUrl(L"/sale/view/Enquiry3/xpage/histroydata", p); 
+			openUrl(L"/sale/view/Enquiry3/xpage/histroydata", &arg); 
 		}
 		return 1;
 	}
 	
 	int OnPrint()
 	{
-		xaserverarg arg=new xaserverarg;
-		arg.setNativePointer(arg.CreateInstance());	
+		xaserverarg arg;	
 		arg.AddArg(L"EntityName",L"Enquiry",L"");
 		arg.AddArg(L"EntityID",GetEntityID(1),L"");
 		arg.AddArg(L"EntityNo",GetEntityNo(1),L"");
-		int p = arg.ptr_native_;
-		openUrl(L"/sale/view/view.base/xpage/Template/PrintViewEx", p);
+		openUrl(L"/sale/view/view.base/xpage/Template/PrintViewEx", &arg);
 		return 0;
 	}
 	
@@ -598,15 +590,14 @@
 	{
 		dw_priceitem.Reset();
 			
-		xaserverarg arg = xaserverarg::Make();
+		xaserverarg arg;
 		arg.AddArg(L"action",L"AddPriceList");
 			
-		OpenWindow(L"dev:xpage[ProductSchemaSelect.vx]",cast(arg as int));
+		OpenWindow(L"dev:xpage[ProductSchemaSelect.vx]",arg);
 		if(arg.GetArgString(L"process") == L"ok")
 		{
 		
-			xml 
-			x.setNativePointer(xml::CreateInstance());
+			xml x;
 			if (getUrl(L"/sale/data/Enquiry/PriceListEx/SKU",arg.GetString(),x)!=1) return 1;
 			KXMLDOMNodeList nodes = x.selectNodes(L"data/Item");
 			int len = nodes.length();
@@ -634,13 +625,8 @@
 				}
 				KXMLDOMNodeList items = ele.selectNodes(L"data/Item");
 				AddItems(id,items);
-				items.Release();
-				ele.Release();
 			}
-			x.Free();
-			nodes.Release();
 		}
-		arg.Free();
 		//OnRetrieveItem(dw_pricelist.GetGuid(row));
 		return  1;
 	}
@@ -652,9 +638,8 @@
 		
 		dw_priceitem.Reset();
 			
-		xaserverarg arg = xaserverarg::Make();
-		xml 
-		x.setNativePointer(xml::CreateInstance());
+		xaserverarg arg ;
+		xml x;
 		arg.AddArg(L"SKUID",dw_pricelist.GetItemString(row,L"SKUID"));
 		arg.AddArg(L"SchemaNo",dw_pricelist.GetItemString(row,L"BOMSchema"));
 		if (getUrl(L"/sale/data/Enquiry/PriceListEx/SKU",arg.GetString(),x)!=1) return 1;
@@ -683,12 +668,7 @@
 			}
 			KXMLDOMNodeList items = ele.selectNodes(L"data/Item");
 			AddItems(id,items);
-			items.Release();
-			ele.Release();
 		}
-		nodes.Release();
-		x.Free();
-		arg.Free();
 		
 		//OnRetrieveItem(dw_pricelist.GetGuid(row));
 		return  1;
@@ -727,11 +707,10 @@
 		if(dw_pricelist.GetRow() < 1) return 1;
 		
 		int row = dw_pricelist.GetRow();
-		xaserverarg arg= new xaserverarg;
-		arg.setNativePointer(arg.CreateInstance());						
+		xaserverarg arg;						
 		arg.AddArg(L"SKUID",dw_pricelist.GetItemString(row,L"SKUID"));
 		arg.AddArg(L"SchemaNo",dw_pricelist.GetItemString(row,L"BOMSchema"));
-		OpenWindow(L"dev:xpage[PriceList.PurcharItemSelect.vx]",cast(arg as int));
+		OpenWindow(L"dev:xpage[PriceList.PurcharItemSelect.vx]",arg);
 		xstring id = dw_pricelist.GetGuid(dw_pricelist.GetRow());
 		if(id==L"")
 		{
@@ -741,11 +720,10 @@
 		if(arg.GetArgString(L"process")==L"ok")
 		{
 			xstring content = arg.GetArgString(L"result");
-			xml x = xml::Make();
-			x.LoadXml(content);
+			xml x;
+			x.loadXML(content);
 			KXMLDOMNodeList nodes = x.selectNodes(L"data/Item");
 			AddItems(id,nodes);
-			nodes.Release();
 			xstring PriceInfo = L"";
 			for(int i=1;i<=dw_pricelist.GetRowCount();i++)
 			{
@@ -787,14 +765,14 @@
 		return 1;
 	}					
 				
-	int OnRowChanged(ref TNotifyEvent evt,int p)
+	int OnRowChanged(TEvent* evt,LPARAM p)
 	{
 		listwin::OnRowChanged(evt,p);
 		
-		ref DWNMHDR  hdr = trust(evt.pnmh as ref DWNMHDR);
+		DWNMHDR&  hdr = *(DWNMHDR*)evt->notify.pnmh;
 		int row = hdr.row;
 		
-		int 	hCursor = xutil::SetCursorWait();
+		HCURSOR 	hCursor = xutil::SetCursorWait();
 		xstring EnquiryNo = dw_list.GetItemString(row,L"EnquiryNo");
 		xml x = ViewObject::RetrieveData(L"/sale/data/Enquiry/maint",L"id",EnquiryNo);
 		if(x)
@@ -807,12 +785,12 @@
 		
 		return 1;
 	}
-	int OnRowChanged2(ref TNotifyEvent evt,int p)
+	int OnRowChanged2(TEvent* evt,LPARAM p)
 	{
-		ref DWNMHDR  hdr = trust(evt.pnmh as ref DWNMHDR);
+		DWNMHDR& hdr = *(DWNMHDR*)evt->notify.pnmh;
 		int row = hdr.row;
 		
-		int 	hCursor = xutil::SetCursorWait();
+		HCURSOR	hCursor = xutil::SetCursorWait();
 		xstring EnquiryNo = dw_list2.GetItemString(row,L"EnquiryNo");
 		xml x = ViewObject::RetrieveData(L"/sale/data/Enquiry/maint",L"id",EnquiryNo);
 		if(x)
@@ -826,18 +804,18 @@
 		return 1;
 	}
 
-	int OnRowChanged1(ref TNotifyEvent evt,int p)
+	int OnRowChanged1(TEvent* evt, LPARAM p)
 	{
 		//fixed one event only one process
 		//listwin::OnRowChanged(evt,p);
 		
-		ref DWNMHDR  hdr = trust(evt.pnmh as ref DWNMHDR);
+		DWNMHDR& hdr = *(DWNMHDR*)evt->notify.pnmh;
 		int row = hdr.row;
 		
-		int 	hCursor = xutil::SetCursorWait();
+		HCURSOR	hCursor = xutil::SetCursorWait();
 		xstring ItemID = dw_list1.GetItemString(row,L"ItemID");
 		//alert(ItemID);
-		xml x = ViewObject::RetrieveData(L"/sale/data/Enquiry/folder/listitemsex",L"itemID",ItemID,L"type",state2.toString());
+		xml x = ViewObject::RetrieveData(L"/sale/data/Enquiry/folder/listitemsex",L"itemID",ItemID,L"type",xstring(state2));
 		if(x)
 			dw_goods1.Retrieve(x);
 		else
@@ -851,20 +829,19 @@
 		
 	int OnShare()
 	{
-		xaserverarg arg = new xaserverarg;
-		arg.setNativePointer(arg.CreateInstance());	
+		xaserverarg arg;	
 
-		OpenWindow(L"dev:xpage[UserGroupShareEx.vx]",cast(arg as int));
+		OpenWindow(L"dev:xpage[UserGroupShareEx.vx]",arg);
 		if(arg.GetArgString(L"process")==L"ok")
 		{
 			xdwgrid dw_obj = dw_pricelistex;
 			if(sheetname==L"tab_pricebillex") dw_obj = dw_pricelist;
 			
 			sheetname=L"tab_pricebillshare";
-			SetAgent(L"list");
+			xframe::SetAgent(L"list");
 			SwitchLayer(L"sheet5",L"frame");
-			xml x = xml::Make();
-			x.LoadXml(arg.GetArgString(L"result"));
+			xml x;
+			x.loadXML(arg.GetArgString(L"result"));
 			KXMLDOMNodeList nodes = x.selectNodes(L"root/item");
 			int count = nodes.length();
 			int row = dw_obj.GetNextSelectRow(1);
@@ -915,26 +892,23 @@
 					
 	int OnShare2()
 	{
-		xaserverarg arg = new xaserverarg;
-		arg.setNativePointer(arg.CreateInstance());	
+		xaserverarg arg ;	
 
-		OpenWindow(L"dev:xpage[UserGroupShareEx.vx]",cast(arg as int));
+		OpenWindow(L"dev:xpage[UserGroupShareEx.vx]",arg);
 		
 		return 1;
 	}
 	
 	int OnTransPriceBillEx()
 	{
-		xaserverarg arg= new xaserverarg;
-		arg.setNativePointer(arg.CreateInstance());			
+		xaserverarg arg;			
 		arg.AddArg(L"no",L"Category:All");
 		arg.AddArg(L"QueryTxt",L"");
-		OpenWindow(L"dev:xpage[PriceList.PurcharItemSelectEx.vx]",cast(arg as int));
+		OpenWindow(L"dev:xpage[PriceList.PurcharItemSelectEx.vx]",arg);
 		if(arg.GetArgString(L"process") == L"ok")
 		{
-			xml 
-			x.setNativePointer(xml::CreateInstance());
-			x.LoadXml(arg.GetArgString(L"result"));
+			xml x;
+			x.loadXML(arg.GetArgString(L"result"));
 			KXMLDOMNodeList nodes = x.selectNodes(L"data/Item");
 			int len = nodes.length();
 			for(int i=0; i<len;i++)
@@ -973,24 +947,20 @@
 				if(ele.selectSingleNode(L"EnquiryLineID")) dw_pricelistex.SetItemString(row,L"EnquiryLineID",ele.selectSingleNode(L"EnquiryLineID").text());
 				ele.Release();
 			}
-			x.Free();
-			nodes.Release();
 		}
 		return 1;
 	}
 	
 	int OnTransPriceBill()
 	{
-		xaserverarg arg= new xaserverarg;
-		arg.setNativePointer(arg.CreateInstance());			
+		xaserverarg arg;			
 		arg.AddArg(L"no",L"Category:All");
 		arg.AddArg(L"QueryTxt",L"");
-		OpenWindow(L"dev:xpage[PriceList.PurcharItemSelectEx.vx]",cast(arg as int));
+		OpenWindow(L"dev:xpage[PriceList.PurcharItemSelectEx.vx]",arg);
 		if(arg.GetArgString(L"process") == L"ok")
 		{
-			xml 
-			x.setNativePointer(xml::CreateInstance());
-			x.LoadXml(arg.GetArgString(L"result"));
+			xml x;
+			x.loadXML(arg.GetArgString(L"result"));
 			KXMLDOMNodeList nodes = x.selectNodes(L"data/Item");
 			int len = nodes.length();
 			for(int i=0; i<len;i++)
@@ -1047,21 +1017,18 @@
 				//items.Release();
 				ele.Release();
 			}
-			x.Free();
-			nodes.Release();
 		}
 		return 1;
 	}
 	
 	int OnTech(xdwgrid dw_term)
 	{
-		xaserverarg arg = new xaserverarg;
-		arg.setNativePointer(arg.CreateInstance());	
+		xaserverarg arg;	
 		int row = dw_term.GetRow();
 		if(row < 1) return 0;
 		xstring str = dw_term.GetItemString(row,L"TechNote");
 		arg.AddArg(L"value",str);
-		OpenWindow(L"dev:xpage[memo.edit.new.vx]",arg.getNativePointer());
+		OpenWindow(L"dev:xpage[memo.edit.new.vx]",arg);
 		if(arg.GetArgString(L"comdid")==L"xmOK")
 		{
 			str = arg.GetArgString(L"value");
@@ -1074,8 +1041,7 @@
 	
 	int OnCopy()
 	{
-		xaserverarg arg = new xaserverarg;
-		arg.setNativePointer(arg.CreateInstance());	
+		xaserverarg arg ;	
 		int row = dw_pricelistex.GetRow();
 		
 		if(row < 1) return 0;
@@ -1105,15 +1071,13 @@
 		arg.AddArg(L"PayTerm",PayTerm);
 		arg.AddArg(L"CustomerContactName",CustomerContactName);
 		arg.AddArg(L"ContactTel",ContactTel);
-		int pa = arg.getNativePointer();
-		openUrl(L"/sale/view/Enquiry3/xpage/maint", pa);
+		openUrl(L"/sale/view/Enquiry3/xpage/maint", &arg);
 		return 1;
 	}	
 	
 	int OnGroupCopy()
 	{
-		xaserverarg arg = new xaserverarg;
-		arg.setNativePointer(arg.CreateInstance());	
+		xaserverarg arg ;	
 		int row = dw_priceitem.GetRow();
 		int row1 = dw_pricelist.GetRow();
 		if(row < 1) return 0;
@@ -1146,8 +1110,7 @@
 		arg.AddArg(L"ContactTel",ContactTel);
 	
 		
-		int pa = arg.getNativePointer();
-		openUrl(L"/sale/view/Enquiry3/xpage/maint", pa);
+		openUrl(L"/sale/view/Enquiry3/xpage/maint", &arg);
 		return 1;
 	}
 	
@@ -1174,7 +1137,7 @@
 		if(comdid==L"tab_pricebill")
 		{
 			sheetname=L"tab_pricebill";
-			SetAgent(L"list");
+			xframe::SetAgent(L"list");
 		
 			SwitchLayer(L"tv_folder_pricebill",L"folder_frame");
 			if(dw_pricelistex.GetRowCount() < 1) OnProductPriceBillRetrieve();
@@ -1183,7 +1146,7 @@
 		else	if(comdid==L"tab_pricebillex")
 		{
 			sheetname=L"tab_pricebillex";
-			SetAgent(L"list");
+			xframe::SetAgent(L"list");
 			SwitchLayer(L"tv_folder_pricebill",L"folder_frame");
 			if(dw_pricelist.GetRowCount() < 1) OnPriceBillRetrieve();
 			return 0;
@@ -1191,7 +1154,7 @@
 		{
 			dw_list = GetControl(L"dw_list2");
 			sheetname = L"tab_list2";
-			SetAgent(L"list");
+			xframe::SetAgent(L"list");
 		}
 		
 		else if(comdid.left(4)==L"tab_")
@@ -1206,7 +1169,7 @@
 			else
 				SwitchLayer(L"tv_folder",L"folder_frame");
 			sheetname=comdid;
-			SetAgent(L"list");
+			xframe::SetAgent(L"list");
 			return 0;
 		}
 		
@@ -1253,7 +1216,7 @@
 				xml supplier_x = ViewObject::RetrieveData(L"/sale/data/SupplierV3/entity/FindBySaleType",L"id", s);
 				if(supplier_x)
 				{
-					if(supplier_x.text == L"閲囪喘缁忕悊")
+					if((xstring)supplier_x.text() == L"閲囪喘缁忕悊")
 						{
 						alert(L"褰撳墠瑙掕壊涓嶆槸閲囪喘鍛樹笉鑳芥柊澧炲崟瀛愶紝璇烽噸鏂伴�夋嫨瑙掕壊");
 						return 0;
@@ -1319,17 +1282,17 @@
 	}
 	
 	//xcombobox涓嬫媺
-	int OnSelectDdlb(ref TNotifyEvent evt,int p)
+	int OnSelectDdlb(TEvent* evt,int p)
 	{
 		changeddlb=1;
-		int wid = ddlb_1.GetId();
+		HWND wid = ddlb_1.GetHWND();
 		int CB_GETCURSEL  = 0x0147;
-		int nIndex = win32::SendMessage(wid,CB_GETCURSEL,0,0);
+		int nIndex = SendMessage(wid,CB_GETCURSEL,0,0);
 		KXMLDOMElement e = ddlb_1.GetElement();
-		KXMLDOMElement e2 = e.selectSingleNode(L"item["+(nIndex+1).toString()+L"]");
+		KXMLDOMElement e2 = e.selectSingleNode(L"item["+xstring(nIndex+1)+L"]");
 		xstring no=e2.selectSingleNode(L"@element").text();
 		
-		int hItem = tv_folder.GetRootItem();
+		HTREEITEM hItem = tv_folder.GetRootItem();
 		while(tv_folder.GetChildItem(hItem))
 			tv_folder.DeleteItem(tv_folder.GetChildItem(hItem));
 		ExpandFolderItem(tv_folder,hItem, no);
@@ -1339,25 +1302,25 @@
 	}
 	
 		
-	int OnCkbCLick(ref TEvent evt,int p)
+	int OnCkbCLick(TEvent* evt,int p)
 	{	
 		xcheckbox cbx_1 = GetControl(L"cbx1");			
-		int state=cbx_1.GetCheck(cbx_1.GetId());
-		if(evt.lParam == GetControl(L"cbx1").GetId())
+		int state=cbx_1.GetCheck(cbx_1.GetHWND());
+		if(evt->lParam == (LPARAM)GetControl(L"cbx1")->GetHWND())
 		{
 			if (state== -1)
 				SwitchLayer(L"sheet1",L"frame");
 			else
 				SwitchLayer(L"sheet2",L"frame");
 			return 1;
-		}else if(evt.lParam == GetControl(L"cbx2").GetId())
+		}else if(evt->lParam == (LPARAM)GetControl(L"cbx2")->GetHWND())
 		{
 			cbx_1 = GetControl(L"cbx2");			
-			state=cbx_1.GetCheck(cbx_1.GetId());
-			int 	hCursor = xutil::SetCursorWait();
+			state=cbx_1.GetCheck(cbx_1.GetHWND());
+			HCURSOR	hCursor = xutil::SetCursorWait();
 			xstring ItemID = dw_list1.GetItemString(dw_list1.GetRow(),L"ItemID");
 			
-			xml x = ViewObject::RetrieveData(L"/sale/data/Enquiry/folder/listitemsex",L"itemID",ItemID,L"type",state.toString());
+			xml x = ViewObject::RetrieveData(L"/sale/data/Enquiry/folder/listitemsex",L"itemID",ItemID,L"type",xstring(state));
 			if(x)
 				dw_goods1.Retrieve(x);
 			else
@@ -1370,21 +1333,21 @@
 		}
 	}
 
-	int OnPriceListRowChanged(ref TNotifyEvent evt,int p)
+	int OnPriceListRowChanged(TEvent* evt,LPARAM p)
 	{
-		ref DWNMHDR  hdr = trust(evt.pnmh as ref DWNMHDR);
+		DWNMHDR& hdr = *(DWNMHDR*)evt->notify.pnmh;
 		int row = hdr.row;
 		
-		int 	hCursor = xutil::SetCursorWait();
+		HCURSOR 	hCursor = xutil::SetCursorWait();
 		OnRetrieveItem(dw_pricelist.GetGuid(row));
 		
 		return 1;
 	}
 		
-	int OnItemAskStyle(ref TNotifyEvent evt,int p)
+	int OnItemAskStyle(TEvent* evt,LPARAM p)
 	{
 		int DMS_CSSSTYLE = 0x8;
-		ref DWASKSTYLENMHDR hdr = trust(evt.pnmh as ref DWASKSTYLENMHDR);
+		DWASKSTYLENMHDR& hdr = *(DWASKSTYLENMHDR*)evt->notify.pnmh;
 		int row = hdr.row;
 		int col = hdr.col;
 		xstring colname = hdr.colname;
@@ -1402,14 +1365,14 @@
 			if(days < 0)
 			{
 				hdr.mask =  DMS_CSSSTYLE;
-				hdr.cssstyle = L"color:#cccccc";
+				hdr.pCssStyle = (LPTSTR)L"color:#cccccc";
 			}
 		}
 		return 1;
 	}	
 	int OnFilter()
 	{
-		xstring str = GetControl(L"sl_search").GetText();
+		xstring str = xcontrol(GetControl(L"sl_search")).GetText();
 		xdwgrid dw_obj;
 		if(sheetname==L"tab_goods") dw_obj = dw_list1;
 		else if(sheetname==L"tab_pricebill") dw_obj = dw_pricelistex;
@@ -1420,53 +1383,51 @@
 		return 1;
 	}
 	
-	int OnPriceListDoubleClicked(ref TNotifyEvent evt,int p)
+	int OnPriceListDoubleClicked(TEvent* evt, LPARAM pr)
 	{
-		int hCursor = xutil::SetCursorWait();
+		HCURSOR hCursor = xutil::SetCursorWait();
 		int row = dw_pricelistex.GetRow();
 		if(row > 0) OnTech(dw_pricelistex);
 		xutil::RestoreCursor(hCursor);
 		return 1;		
 	}
 	
-	int OnDoubleClicked(ref TNotifyEvent evt,int p)
+	int OnDoubleClicked(TEvent* evt, LPARAM)
 	{
-		int hCursor = xutil::SetCursorWait();
+		HCURSOR hCursor = xutil::SetCursorWait();
 		int row = dw_list2.GetRow();
-		xaserverarg arg=new xaserverarg;
-		arg.setNativePointer(arg.CreateInstance());
+		xaserverarg arg;
 		
 		xstring EnquiryNo  = dw_list2.GetItemString(row,L"EnquiryNo");
 		arg.AddArg(L"EnquiryNo",EnquiryNo);
 		
-		int pa = arg.getNativePointer();
-		openUrl(L"/sale/view/Enquiry3/xpage/maint", pa);
+		openUrl(L"/sale/view/Enquiry3/xpage/maint",&arg);
 		xutil::RestoreCursor(hCursor);
 		return 1;		
 	}
-	int OnDoubleClicked(ref TNotifyEvent evt,int p)
+	int OnDoubleClicked(TEvent* evt, LPARAM pr)
 	{
-		int hCursor = xutil::SetCursorWait();
+		HCURSOR hCursor = xutil::SetCursorWait();
 		OnCmdDispatch(L"action:bill.open");
 		xutil::RestoreCursor(hCursor);
 		return 1;		
 	}
-	int AttachEvent()
+	int AttachListon()
 	{
-		AttachEvent(L"tv_folder", L"TVN_SELCHANGED",OnTreeSelChanged); //鏍戦�夋嫨
-		AttachEvent(L"tv_folder", L"TVN_ITEMEXPANDING",OnTreeExpanding); //鏍戝睍寮�
-		AttachEvent(L"dw_list",L"DWV_ROWFOCUSCHANGED",OnRowChanged);
-		AttachEvent(L"dw_list2",L"DWV_ROWFOCUSCHANGED",OnRowChanged2);
-		AttachEvent(L"dw_list1",L"DWV_ROWFOCUSCHANGED",OnRowChanged1);
-		AttachEvent(L"cbx_1",L"CBN_SELCHANGE",OnSelectDdlb);
-		AttachEvent(L"WM_COMMAND",OnCkbCLick);
-		AttachEvent(L"dw_list",L"DWV_ASKSTYLE",OnItemAskStyle);
-		AttachEvent(L"dw_pricelist",L"DWV_ROWFOCUSCHANGED",OnPriceListRowChanged);
-		AttachEvent(L"tv_folder_pricebill", L"TVN_SELCHANGED",OnPriceBillTreeSelChanged); //鏍戦�夋嫨
-		AttachEvent(L"tv_folder_pricebill", L"TVN_ITEMEXPANDING",OnPriceBillTreeExpanding);
+		AttachEvent(L"tv_folder", L"TVN_SELCHANGED",(FEvent)&Enquiry3list::OnTreeSelChanged); //鏍戦�夋嫨
+		AttachEvent(L"tv_folder", L"TVN_ITEMEXPANDING", (FEvent)&Enquiry3list::OnTreeExpanding); //鏍戝睍寮�
+		AttachEvent(L"dw_list",L"DWV_ROWFOCUSCHANGED", (FEvent)&Enquiry3list::OnRowChanged);
+		AttachEvent(L"dw_list2",L"DWV_ROWFOCUSCHANGED", (FEvent)&Enquiry3list::OnRowChanged2);
+		AttachEvent(L"dw_list1",L"DWV_ROWFOCUSCHANGED", (FEvent)&Enquiry3list::OnRowChanged1);
+		AttachEvent(L"cbx_1",L"CBN_SELCHANGE", (FEvent)&Enquiry3list::OnSelectDdlb);
+		AttachEvent(L"WM_COMMAND", (FEvent)&Enquiry3list::OnCkbCLick);
+		AttachEvent(L"dw_list",L"DWV_ASKSTYLE", (FEvent)&Enquiry3list::OnItemAskStyle);
+		AttachEvent(L"dw_pricelist",L"DWV_ROWFOCUSCHANGED", (FEvent)&Enquiry3list::OnPriceListRowChanged);
+		AttachEvent(L"tv_folder_pricebill", L"TVN_SELCHANGED", (FEvent)&Enquiry3list::OnPriceBillTreeSelChanged); //鏍戦�夋嫨
+		AttachEvent(L"tv_folder_pricebill", L"TVN_ITEMEXPANDING", (FEvent)&Enquiry3list::OnPriceBillTreeExpanding);
 		
-		AttachEvent(L"dw_pricelistex",L"DWV_DOUBLECLICKED",OnPriceListDoubleClicked);
-		AttachEvent(L"dw_list2",L"DWV_DOUBLECLICKED",OnDoubleClicked);
+		AttachEvent(L"dw_pricelistex",L"DWV_DOUBLECLICKED", (FEvent)&Enquiry3list::OnPriceListDoubleClicked);
+		AttachEvent(L"dw_list2",L"DWV_DOUBLECLICKED", (FEvent)&Enquiry3list::OnDoubleClicked);
 		
 		return 1;
 	}
@@ -1475,10 +1436,8 @@
 	
 	int OnRetrieveItem(xstring EnquiryPriceListID)
 	{
-		xml 
-		x.setNativePointer(xml::CreateInstance());
-		xaserverarg arg = new xaserverarg;
-		arg.setNativePointer(arg.CreateInstance());	
+		xml x;
+		xaserverarg arg ;	
 		arg.AddArg(L"EnquiryPriceListID",EnquiryPriceListID);
 		if (getUrl(L"/sale/data/Enquiry/fetch/PriceList/item",arg.GetString(),x)!=1)
 		{
@@ -1495,14 +1454,12 @@
 	
 	int  OnPriceBillRetrieve()
 	{
-		int hItem = tv_folder_pricebill.GetSelectedItem();
-		KXMLDOMElement e1 = cast(tv_folder_pricebill.GetItemData(hItem) as KXMLDOMElement);
+		HTREEITEM hItem = tv_folder_pricebill.GetSelectedItem();
+		KXMLDOMElement e1 = tv_folder_pricebill.GetItemData(hItem);
 		xstring no = e1.getAttribute(L"no");
 
-		xml 
-		x.setNativePointer(xml::CreateInstance());
-		xaserverarg arg = new xaserverarg;
-		arg.setNativePointer(arg.CreateInstance());	
+		xml x;
+		xaserverarg arg;	
 		arg.AddArg(L"no",no);
 		if (getUrl(L"/sale/data/Enquiry/fetch/PriceList",arg.GetString(),x)!=1)
 		{
@@ -1525,14 +1482,12 @@
 		
 	int  OnProductPriceBillRetrieve()
 	{
-		int hItem = tv_folder_pricebill.GetSelectedItem();
-		KXMLDOMElement e1 = cast(tv_folder_pricebill.GetItemData(hItem) as KXMLDOMElement);
+		HTREEITEM hItem = tv_folder_pricebill.GetSelectedItem();
+		KXMLDOMElement e1 = tv_folder_pricebill.GetItemData(hItem);
 		xstring no = e1.getAttribute(L"no");
 
-		xml 
-		x.setNativePointer(xml::CreateInstance());
-		xaserverarg arg = new xaserverarg;
-		arg.setNativePointer(arg.CreateInstance());	
+		xml x;
+		xaserverarg arg ;	
 		arg.AddArg(L"no",no);
 		if (getUrl(L"/sale/data/Enquiry/ProductPriceList/nobom",arg.GetString(),x)!=1)
 		{
@@ -1550,10 +1505,8 @@
 	
 	int  OnProductPriceShareRetrieve()
 	{
-		xml 
-		x.setNativePointer(xml::CreateInstance());
-		xaserverarg arg = new xaserverarg;
-		arg.setNativePointer(arg.CreateInstance());	
+		xml x;
+		xaserverarg arg ;	
 		if (getUrl(L"/sale/data/Enquiry/ProductPriceList/share",arg.GetString(),x)!=1)
 		{
 			trace(x.text());
@@ -1669,7 +1622,7 @@
 	{	
 		listwin::onloaded();
 		
-		AttachEvent();
+		AttachListon();
 		
 		dw_list.SetColumnState(L"EnquiryID",false);
 		dw_list.SetColumnState(L"Days",false);
@@ -1683,7 +1636,7 @@
 		OnProductPriceShareRetrieve();
 
 		
-		int hItem = tv_folder.GetRootItem();
+		HTREEITEM hItem = tv_folder.GetRootItem();
 		tv_folder.ExpandItem(hItem);
 		tv_folder.ItemFocus(hItem);
 		
@@ -1708,7 +1661,7 @@
 	
 	int ProcessUsedArg(xaserverarg arg)
 	{
-		int hItem = tv_folder.GetCaretItem();
+		HTREEITEM hItem = tv_folder.GetCaretItem();
 		arg.AddArg(L"sheetname",sheetname);
 		if(hItem > 0)
 		{

--
Gitblit v1.9.3