From 01ecca79b7c23d690ba21fb182dd1f56f2f182ed Mon Sep 17 00:00:00 2001
From: xj qian <qianxj15@sina.com>
Date: 星期一, 01 七月 2024 16:07:53 +0800
Subject: [PATCH] update more

---
 jrj/project/business/HR/ManpowerFileWindow.cpp               |    6 
 jrj/project/business/HR/AdministrativeDepartmentFolder.cpp   |    8 +-
 jrj/project/printview/Template.Print.Dialog.cpp              |    6 -
 jrj/project/business/HR/BlankExcelTemplate.cpp               |    6 
 jrj/project/business/SO/delivery.base.maint.so.cpp           |    2 
 jrj/project/printview/Template.Print.ViewEx.cpp              |   15 ++-
 jrj/project/business/quote.enquiry.cpp                       |   10 +-
 jrj/project/business/SO/paymentterm.base.maint.so.cpp        |    2 
 jrj/xframe/kobject/kxml.hpp                                  |   25 ++++--
 jrj/project/business/EnquiryEx3.list.cpp                     |    0 
 jrj/project/business/SO/maint.Document.SO3.v3.cpp            |    2 
 jrj/project/business/Supplier.maint.cpp                      |    0 
 jrj/project/business/Customer3.maint.cpp                     |    4 
 jrj/project/business/HR/AdministrativeDepartment.cpp         |    4 
 jrj/project/business/Public/message.supplier.cpp             |    0 
 jrj/xframe/vbusiness/vframe/responsewin.vframe.vbusiness.hpp |  106 ++++++++++++++++++++++++++
 jrj/project/business/HR/ManpowerFile.cpp                     |    8 +-
 jrj/project/business/SO/Apply.SOItem.cpp                     |    2 
 18 files changed, 157 insertions(+), 49 deletions(-)

diff --git a/jrj/project/business/Customer3.maint.cpp b/jrj/project/business/Customer3.maint.cpp
index e04e1d2..830737d 100644
--- a/jrj/project/business/Customer3.maint.cpp
+++ b/jrj/project/business/Customer3.maint.cpp
@@ -81,7 +81,7 @@
 		  e.appendChild(Item);
 	   }
 	   
-	   xml x2= new xml;
+	   xml x2;
 		
 		dw_Meetings.DwUpdateAllTo(x2);
 		KXMLDOMElement e2=x2.documentElement();
@@ -93,7 +93,7 @@
 		  e.appendChild(Item2);
 	   }
 	   
-	   xml x3= new xml;
+	   xml x3;
 		
 		dw_MeetingsEx.DwUpdateAllTo(x3);
 		KXMLDOMElement e3=x3.documentElement();
diff --git a/jrj/project/business/EnquiryEx3.list.cpp b/jrj/project/business/EnquiryEx3.list.cpp
index 4f8c971..697323c 100644
--- a/jrj/project/business/EnquiryEx3.list.cpp
+++ b/jrj/project/business/EnquiryEx3.list.cpp
Binary files differ
diff --git a/jrj/project/business/HR/AdministrativeDepartment.cpp b/jrj/project/business/HR/AdministrativeDepartment.cpp
index 07fe927..12df8bb 100644
--- a/jrj/project/business/HR/AdministrativeDepartment.cpp
+++ b/jrj/project/business/HR/AdministrativeDepartment.cpp
@@ -249,7 +249,7 @@
 			adid = ele.selectSingleNode(L"adid").text();*/
 			adid = dw_list.GetItemString(row, L"adid");
 
-			xml x = new xml;
+			xml x ;
 			
 			xaserverarg arg;
 			
@@ -310,7 +310,7 @@
 		//加载主体数据
 		int  OnRetrieve()
 		{
-			xml x = new xml;
+			xml x ;
 			
 			xaserverarg arg;
 			
diff --git a/jrj/project/business/HR/AdministrativeDepartmentFolder.cpp b/jrj/project/business/HR/AdministrativeDepartmentFolder.cpp
index be01a84..7bfefd8 100644
--- a/jrj/project/business/HR/AdministrativeDepartmentFolder.cpp
+++ b/jrj/project/business/HR/AdministrativeDepartmentFolder.cpp
@@ -58,12 +58,12 @@
 
 		int OnSave()
 		{
-			xml x = new xml;
+			xml x ;
 			
 			dw_base.AcceptText();
 			dw_base.DwUpdateAllTo(x);
 			xaserverarg arg;
-			arg.setNativePointer(xaserverarg::CreateInstance());
+			
 			arg.AddArg(L"content", x.xml());
 			//trace(x.xml());
 			if (getUrl(L"/sale/data/AdministrativeDepartment/ad_update", arg.GetString(), x) != 1)
@@ -113,7 +113,7 @@
 
 		int  OnParentRetrieve()
 		{
-			xml x = new xml;
+			xml x ;
 			
 			xaserverarg arg;
 			
@@ -152,7 +152,7 @@
 
 		int  OnRetrieve()
 		{
-			xml x = new xml;
+			xml x ;
 			
 			xaserverarg arg;
 			
diff --git a/jrj/project/business/HR/BlankExcelTemplate.cpp b/jrj/project/business/HR/BlankExcelTemplate.cpp
index 289e4ce..be29cc3 100644
--- a/jrj/project/business/HR/BlankExcelTemplate.cpp
+++ b/jrj/project/business/HR/BlankExcelTemplate.cpp
@@ -54,12 +54,12 @@
 
 		int OnSave()
 		{
-			xml x = new xml;
+			xml x ;
 			
 			dw_list.AcceptText();
 			dw_list.DwUpdateAllToEx(x);
 			xaserverarg arg;
-			arg.setNativePointer(xaserverarg::CreateInstance());
+			
 			arg.AddArg(L"content", x.xml().replace(L" 00:00:00", L"").replace(L"0000-00-00", L""));
 			//trace(x.xml().replace(L" 00:00:00", L"").replace(L"0000-00-00", L""));//运行界面打印			
 			if (getUrl(L"/sale/data/ManpowerFile/multiUpdate", arg.GetString(), x) != 1) {
@@ -106,7 +106,7 @@
 		/*//加载数据
 		int  OnRetrieve()
 		{
-			xml x = new xml;
+			xml x ;
 			
 			xaserverarg arg;
 			
diff --git a/jrj/project/business/HR/ManpowerFile.cpp b/jrj/project/business/HR/ManpowerFile.cpp
index ea4c79e..123d75c 100644
--- a/jrj/project/business/HR/ManpowerFile.cpp
+++ b/jrj/project/business/HR/ManpowerFile.cpp
@@ -149,7 +149,7 @@
 					return 1;
 				KXMLDOMElement ele = dw_list.GetRowElement(row);
 				xstring mfid = ele.selectSingleNode(L"mfid").text();//查看
-				xml x = new xml;
+				xml x ;
 				
 				xaserverarg arg;//放置参数
 				
@@ -189,7 +189,7 @@
 		xstring GetQueryArg()
 		{
 			dw_arg.AcceptText();
-			xml x = new xml;
+			xml x ;
 			
 			dw_arg.DwUpdateAllTo(x);
 
@@ -205,7 +205,7 @@
 			KXMLDOMElement& e1 = *(KXMLDOMElement*)tv_folder.GetItemData(hItem);
 			xstring no = e1.getAttribute(L"no");
 
-			xml x = new xml;
+			xml x ;
 			
 			xaserverarg arg;
 			
@@ -280,7 +280,7 @@
 		int  OnRetrieve()
 		{
 			//int  hCursor = xutil::SetCursorWait();//鼠标位置
-			xml x = new xml;
+			xml x ;
 			
 			xaserverarg arg;//放置参数
 			
diff --git a/jrj/project/business/HR/ManpowerFileWindow.cpp b/jrj/project/business/HR/ManpowerFileWindow.cpp
index df48086..d6934e3 100644
--- a/jrj/project/business/HR/ManpowerFileWindow.cpp
+++ b/jrj/project/business/HR/ManpowerFileWindow.cpp
@@ -55,12 +55,12 @@
 		//保存数据
 		int OnSave()
 		{
-			xml x = new xml;
+			xml x ;
 			
 			dw_base.AcceptText();
 			dw_base.DwUpdateAllTo(x);
 			xaserverarg arg;
-			arg.setNativePointer(xaserverarg::CreateInstance());
+			
 			arg.AddArg(L"content", x.xml());
 			//trace(x.xml());
 			if (xurl::get(L"/sale/data/ManpowerFile/update", arg.GetString(), x) != 1)
@@ -135,7 +135,7 @@
 
 		int  OnRetrieve()
 		{
-			xml x = new xml;
+			xml x ;
 			
 			xaserverarg arg;
 			
diff --git a/jrj/project/business/Public/message.supplier.cpp b/jrj/project/business/Public/message.supplier.cpp
index a1ea747..0810a2d 100644
--- a/jrj/project/business/Public/message.supplier.cpp
+++ b/jrj/project/business/Public/message.supplier.cpp
Binary files differ
diff --git a/jrj/project/business/SO/Apply.SOItem.cpp b/jrj/project/business/SO/Apply.SOItem.cpp
index d6d273b..fcb2a91 100644
--- a/jrj/project/business/SO/Apply.SOItem.cpp
+++ b/jrj/project/business/SO/Apply.SOItem.cpp
@@ -119,7 +119,7 @@
 			{
 				xaserverarg arg = new xaserverarg;
 				arg.setNativePointer(arg.CreateInstance());
-				xml x = new xml;
+				xml x ;
 				x.setNativePointer(x.CreateInstance());
 
 				arg.AddArg(L"FlowID",L"1A83D53D-DD12-4FDB-A274-FA8D5982AB53");
diff --git a/jrj/project/business/SO/delivery.base.maint.so.cpp b/jrj/project/business/SO/delivery.base.maint.so.cpp
index 2295659..4e373c9 100644
--- a/jrj/project/business/SO/delivery.base.maint.so.cpp
+++ b/jrj/project/business/SO/delivery.base.maint.so.cpp
@@ -156,7 +156,7 @@
 			bind.bind(dw_1, vc);
 
 			xml x;
-			x = new xml;
+			x ;
 			x.setNativePointer(xml::CreateInstance());
 			x.LoadXml(vc.GetContent());
 
diff --git a/jrj/project/business/SO/maint.Document.SO3.v3.cpp b/jrj/project/business/SO/maint.Document.SO3.v3.cpp
index 321df57..4ca8b6f 100644
--- a/jrj/project/business/SO/maint.Document.SO3.v3.cpp
+++ b/jrj/project/business/SO/maint.Document.SO3.v3.cpp
@@ -369,7 +369,7 @@
 		/*
 		int  OnRetrieve()
 		{
-			xml x = new xml;
+			xml x ;
 			x.setNativePointer(xml::CreateInstance());
 			xaserverarg arg = new xaserverarg;
 			arg.setNativePointer(arg.CreateInstance());
diff --git a/jrj/project/business/SO/paymentterm.base.maint.so.cpp b/jrj/project/business/SO/paymentterm.base.maint.so.cpp
index fd4f361..1f8a420 100644
--- a/jrj/project/business/SO/paymentterm.base.maint.so.cpp
+++ b/jrj/project/business/SO/paymentterm.base.maint.so.cpp
@@ -379,7 +379,7 @@
 			dw_1.openUrl(L"/sale/view/SaleOrder/template/payment"); //base.maint.so.tpl/payment
 
 			/*
-			xml x = new xml;
+			xml x ;
 			x.setNativePointer(xml::CreateInstance());
 			if(url::get(L"/sale/view/SaleOrder/template/SaleOrder/payment1",L"",x)!=1) //SO.updata.oldserver.pr.xq
 			{
diff --git a/jrj/project/business/Supplier.maint.cpp b/jrj/project/business/Supplier.maint.cpp
index cde3e61..7bc124f 100644
--- a/jrj/project/business/Supplier.maint.cpp
+++ b/jrj/project/business/Supplier.maint.cpp
Binary files differ
diff --git a/jrj/project/business/quote.enquiry.cpp b/jrj/project/business/quote.enquiry.cpp
index ed954ef..01ad4b3 100644
--- a/jrj/project/business/quote.enquiry.cpp
+++ b/jrj/project/business/quote.enquiry.cpp
@@ -901,7 +901,7 @@
 	int ProcessSendMessage(xstring myurl, xstring param, xstring content, xstring datacontent, bool balert = false)
 	{
 		xaserverarg	 arg ;
-		arg.setNativePointer(xaserverarg::CreateInstance());
+		
 		arg.AddArg(L"myurl", myurl);
 		arg.AddArg(L"param", param);
 		arg.AddArg(L"content", content);
@@ -970,7 +970,7 @@
 		xml x ;
 		
 		xaserverarg arg ;
-		arg.setNativePointer(xaserverarg::CreateInstance());
+		
 
 		xstring empno;
 		KXMLDOMNode n = purcher.selectSingleNode(L"//HrEmployee[Name='"+purchor+L"']/UserNo");
@@ -4958,7 +4958,7 @@
 		if (action != L"purch") return 1;
 		xstring content = GetMySupplier();
 		xaserverarg arg ;
-		arg.setNativePointer(xaserverarg::CreateInstance());
+		
 		arg.AddArg(L"value", content);
 		OpenWindow(L"dev:xpage[QuoteSupplierItem.vx]", arg);
 
@@ -4969,7 +4969,7 @@
 	{
 		xml x ;
 		xaserverarg arg ;
-		arg.setNativePointer(xaserverarg::CreateInstance());
+		
 		arg.AddArg(L"Name", name);
 		if (getUrl(L"/sale/data/SupplierV3/HasParty", arg.GetString(), x) != 1)
 		{
@@ -4985,7 +4985,7 @@
 	{
 		xml purcher ;
 		xaserverarg arg ;
-		arg.setNativePointer(xaserverarg::CreateInstance());
+		
 		arg.AddArg(L"id", L"采购员");
 		if (getUrl(L"/sale/data/Quote/Purcher", arg.GetString(), purcher) != 1)
 		{
diff --git a/jrj/project/printview/Template.Print.Dialog.cpp b/jrj/project/printview/Template.Print.Dialog.cpp
index f6cc784..7b58fbd 100644
--- a/jrj/project/printview/Template.Print.Dialog.cpp
+++ b/jrj/project/printview/Template.Print.Dialog.cpp
@@ -286,7 +286,7 @@
 		dw_list.DwUpdateAllToEx(x);
 
 		xaserverarg arg;
-		arg.setNativePointer(xaserverarg::CreateInstance());
+		
 		arg.AddArg(L"content", x.xml());
 
 		if (xurl::get(L"/sale/data/SysPrintTemplate/updateinfo", arg.GetString(), x) != 1)
@@ -473,11 +473,10 @@
 			m_EntityNo = arg_param.GetArgString(L"EntityNo");
 
 			xaserverarg arg;
-			arg.setNativePointer(xaserverarg::CreateInstance());
 			arg.AddArg(L"EntityName", m_EntityName);
 			arg.AddArg(L"EntityID", m_EntityID);
 			arg.AddArg(L"EntityNo", m_EntityNo);
-			xml x = new xml;
+			xml x ;
 
 			if (xurl::get(L"/sale/data/DocumentList3/bill/doclist", arg.GetString(), x) != 1)
 			{
@@ -510,7 +509,6 @@
 	{
 		SetArg();
 		responsewin::onload();
-
 		/*if (GetParam())
 		{
 			xstring action = arg_param.GetArgString(L"action");
diff --git a/jrj/project/printview/Template.Print.ViewEx.cpp b/jrj/project/printview/Template.Print.ViewEx.cpp
index 57fac78..ebdaa3d 100644
--- a/jrj/project/printview/Template.Print.ViewEx.cpp
+++ b/jrj/project/printview/Template.Print.ViewEx.cpp
@@ -465,7 +465,7 @@
 			dataUrl = L"/sale/data/"+sEntityName+ L"/"+ dataUrl;
 		if(!m_dataset)
 		{
-			xml x0 = new xml;
+			xml x0 ;
 			if (xurl::get(dataUrl,arg.GetString(),x0) != 1)
 			{
 				alert(L"数据集出错了!");
@@ -591,10 +591,11 @@
 		
 	int updateHtml()
 	{
+		return 1;
 		IHTMLDocument3* doc = (IHTMLDocument3 * )ole_print.GetHtmlDocument();
-		IHTMLElementCollection* rows;
+		IHTMLElementCollection* rows = NULL;
+		IHTMLElementCollection* rows2 = NULL;
 		doc->getElementsByTagName((BSTR)L"tr",&rows);
-		IHTMLElementCollection* rows2;
 		doc->getElementsByTagName((BSTR)L"td",&rows2);
 		long len;
 		rows->get_length(&len);
@@ -734,7 +735,7 @@
 									SendCtrlCmd(cell,L"xmFormatShowGrid");
 									showgrid = true;
 								}*/
-								xml x1 = new xml;
+								xml x1 ;
 									
 								xstring content1 = x.xml();
 								content1 = content1.replace(L"[空]",L" ",0);
@@ -932,7 +933,7 @@
 		content = content.replace(L"&nbsp",L"[空]",0);
 		content = content.replace(L"&",L"",0);
 		
-		xml x0 = new xml;
+		xml x0 ;
 		x0.loadXML(L"<Bill/>");
 		x0.documentElement().settext(content);
 		content = x0.xml();
@@ -952,7 +953,7 @@
 		
 		x.loadXML(ls_xml); 
 		xaserverarg arg;
-		arg.setNativePointer(xaserverarg::CreateInstance());
+		
 		arg.AddArg(L"content", x.xml());
 		
 		if(xurl::get(L"/sale/data/DocumentList3/bill/update", arg.GetString(),x)!=1)
@@ -1092,7 +1093,7 @@
 			ole_print.ExecWB(27,0);
 			return 1;
 				alert(L"xxx");
-					xml x1 = new xml;
+					xml x1 ;
 			
 			xaserver::ExecXQuery(GetServerUrl(), L"[xsl.getdevobj.xq]",L"<args/>",x1);
 		}
diff --git a/jrj/xframe/kobject/kxml.hpp b/jrj/xframe/kobject/kxml.hpp
index 050b9e5..ebcdfbe 100644
--- a/jrj/xframe/kobject/kxml.hpp
+++ b/jrj/xframe/kobject/kxml.hpp
@@ -148,8 +148,24 @@
 		void* getImpl();
 	};
 
+
+	class KXMLDOMElement : public KXMLDOMNode
+	{
+	public:
+		KXMLDOMElement(KXMLDOMNode v);
+		KXMLDOMElement(void* impl) :KXMLDOMNode(impl) {}
+		KXMLDOMElement() :KXMLDOMNode() {}
+	public:
+		KXMLDOMElement(LPARAM p) :KXMLDOMNode((void*)p) {}
+	};
+
 	class KXMLDOMDocument : public KXMLDOMNode
 	{
+	public:
+		bool operator !()
+		{
+			return !impl || !documentElement();
+		}
 	public:
 		const wchar_t* text();
 		const wchar_t* url();
@@ -203,15 +219,6 @@
 		KXMLDOMDocument(const KXMLDOMDocument& rhs);
 	};
 
-	class KXMLDOMElement : public KXMLDOMNode
-	{
-	public:
-		KXMLDOMElement( KXMLDOMNode v);
-		KXMLDOMElement(void* impl) :KXMLDOMNode(impl) {}
-		KXMLDOMElement() :KXMLDOMNode() {}
-	public:
-		KXMLDOMElement(LPARAM p) :KXMLDOMNode((void*)p) {}
-	};
 	class KXMLDOMAttribute : public KXMLDOMNode
 	{
 	public:
diff --git a/jrj/xframe/vbusiness/vframe/responsewin.vframe.vbusiness.hpp b/jrj/xframe/vbusiness/vframe/responsewin.vframe.vbusiness.hpp
index 0611dbe..7e20d9b 100644
--- a/jrj/xframe/vbusiness/vframe/responsewin.vframe.vbusiness.hpp
+++ b/jrj/xframe/vbusiness/vframe/responsewin.vframe.vbusiness.hpp
@@ -3,12 +3,114 @@
 #include <wobject/xwin.hpp>
 #include <wobject/xurl.hpp>
 #include <wobject/xapp.hpp>
-class responsewin : public xwin
+class responsewin : public xframe
 {
 public:
-	responsewin(void* impl, HWND hWnd) :xwin(impl, hWnd) {}
+	responsewin(void* impl, HWND hWnd) :xframe(impl, hWnd) {}
+	virtual int SetAgent()
+	{
+		return 1;
+	}
+
+	virtual int PreOnSetFocus()
+	{
+		//返回0——不在执行以下代码;返回其他——执行以下代码。
+		return 1;
+	}
+
+	//焦点激活处理函数
+	int OnSetFocus(TEvent* evt, int p)
+	{
+		//重置工具条
+		SetAgent();
+		return 1;
+	}
+
+	virtual int PreOnCmdDispatch(xstring comdid)
+	{
+		//返回0——不在执行以下代码;返回其他——执行以下代码。
+		return 1;
+	}
+
+	virtual int PostOnCmdDispatch(xstring comdid, int rtn)
+	{
+		return 1;
+	}
+
+	int OnCmdDispatch(xstring comdid)
+	{
+		int rtn = 0;
+		if (PreOnCmdDispatch(comdid) == 0)
+			return 1;
+
+		if (comdid.find(L"action:", 0) >= 0)
+			rtn = ProcessFlowAction(comdid, 1);
+
+		if (PostOnCmdDispatch(comdid, rtn) != 1)
+		{
+			alert(L"error");
+			return 1;
+		}
+
+		return rtn;
+	}
+
+	//命令处理事件
+	int OnXCommand(TEvent* evt, int p)
+	{
+		/*xwin::SendMessage(sPHWND.toInt(),0x401,sAssortmentHwnd,0);
+		struct TEvent
+		{
+			int		hWnd; //this.GetHWND().toString()
+			int		message;//WM_XCOMMAND 0x401, evt.message.toString()是十进制1045
+			int		wParam;
+			int		lParam;未使用
+			int		time;
+			xpoint	pt;
+		};
+		struct TXCommandEvent : public TEvent
+		{
+			native string pStrID;
+		};*/
+		//string str = "ccc"+evt.wParam.toString(); 
+		//alert(str);
+		return OnCmdDispatch(evt->xcommand.pStrID);
+	}
+
+	int OnClose(TEvent* evt, int p)
+	{
+
+		return 1;
+	}
+
+	virtual int PostOnAttachEvent()
+	{
+		return 1;
+	}
+
+	int OnAttachEvent()
+	{
+		//绑定工具条点击事件
+		AttachEvent(L"WM_XCOMMAND", (FEvent)&responsewin::OnXCommand);
+		//获取焦点事件,用于重置工具条
+		AttachEvent(L"WM_SETFOCUS", (FEvent)&responsewin::OnSetFocus);
+		//AttachEvent("WM_CLOSE",OnClose);
+
+		PostOnAttachEvent();
+		return 0;
+	}
+
+	virtual int OnInit()
+	{
+		return 1;
+	}
+
 	int onload()
 	{
+		SetAgent();
+		OnAttachEvent();
+
+		OnInit();
 		return 1;
 	}
 };
\ No newline at end of file

--
Gitblit v1.9.3