From da2dab05bfc057f9a31599710cf52fc523092055 Mon Sep 17 00:00:00 2001 From: xj qian <qianxj15@sina.com> Date: 星期三, 26 六月 2024 15:21:37 +0800 Subject: [PATCH] update arg --- jrj/xframe/vbusiness/vframe/frame.vframe.vbusiness.hpp | 4 + jrj/xframe/vbusiness/vframe/maint.vframe.vbusiness.hpp | 33 ++++++----- jrj/project/business/Customer3.maint.cpp | 33 ++++------- jrj/xframe/vbusiness/vframe/listwin.vframe.vbusiness.hpp | 8 +- jrj/project/business/Quote3.maint.cpp | 0 jrj/project/vindexmenu.cpp | 6 + jrj/xframe/wobject/xaserverarg.hpp | 7 ++ jrj/xframe/wobject/xwin.hpp | 20 ++++++ jrj/project/business/SO3.maint.cpp | 18 +++--- 9 files changed, 74 insertions(+), 55 deletions(-) diff --git a/jrj/project/business/Customer3.maint.cpp b/jrj/project/business/Customer3.maint.cpp index 3be41ae..b18b5c3 100644 --- a/jrj/project/business/Customer3.maint.cpp +++ b/jrj/project/business/Customer3.maint.cpp @@ -970,18 +970,13 @@ if(value == L"人员") { - xaserverarg& arg2 =* new xaserverarg; - + xaserverarg arg = GetArg(); + OpenWindow(L"dev:xpage[UserGroupPersonSelect.vx]", arg); - xaserverarg& parg2 = *(xaserverarg*)GetParam(); - - OpenWindow(L"dev:xpage[UserGroupPersonSelect.vx]", (LPARAM)&arg2); - - if(arg2.GetArgString(L"comdid")==L"xmOk") + if(arg.GetArgString(L"comdid")==L"xmOk") { - xstring data = arg2.GetArgString(L"data"); + xstring data = arg.GetArgString(L"data"); xml x2; - x2.loadXML(data); KXMLDOMNodeList nodes = x2.selectNodes(L"/root/item"); trace(x2.xml()); @@ -1020,7 +1015,7 @@ xstring value = hdr->data; int row = hdr->row; //alert(value); - xaserverarg& arg=*new xaserverarg; + xaserverarg arg; if(value == L"附件上传") @@ -1033,20 +1028,18 @@ arg.AddArg(L"entityid",dw.GetGuid(dw.GetRow())); - OpenWindow(L"dev:xpage[maint.Document.Customer.v3.vx]",(LPARAM)&arg); + OpenWindow(L"dev:xpage[maint.Document.Customer.v3.vx]",arg); return 1; } if(value == L"人员") { - xaserverarg& arg2 = *new xaserverarg; + xaserverarg arg; + OpenWindow(L"dev:xpage[UserGroupPersonSelectEx.vx]", arg); - xaserverarg parg2 = *(xaserverarg*)GetParam(); - OpenWindow(L"dev:xpage[UserGroupPersonSelectEx.vx]", (LPARAM)&arg2); - - if(arg2.GetArgString(L"comdid")==L"xmOk") + if(arg.GetArgString(L"comdid")==L"xmOk") { - xstring data = arg2.GetArgString(L"data"); + xstring data = arg.GetArgString(L"data"); xml x2; x2.loadXML(data); @@ -1216,11 +1209,9 @@ - if (GetParam()) + if (GetWinParam()) { - xaserverarg& args = *(xaserverarg * )GetParam(); - - + xaserverarg args = GetArg(); if (args.GetArgString(L"PartyID") != L"") { CustomerBase(m_EntityID); diff --git a/jrj/project/business/Quote3.maint.cpp b/jrj/project/business/Quote3.maint.cpp index 49f28d5..39cd6ed 100644 --- a/jrj/project/business/Quote3.maint.cpp +++ b/jrj/project/business/Quote3.maint.cpp Binary files differ diff --git a/jrj/project/business/SO3.maint.cpp b/jrj/project/business/SO3.maint.cpp index 53b8fa6..0a1efb7 100644 --- a/jrj/project/business/SO3.maint.cpp +++ b/jrj/project/business/SO3.maint.cpp @@ -1001,12 +1001,12 @@ }*/ xstring SONo; xstring CustomerID; - xaserverarg* arg = 0; - if (GetParam()) + xaserverarg arg; + if (GetWinParam()) { - arg = (xaserverarg *)GetParam(); - SONo = arg->GetArgString(L"SONo"); - if (SONo == L"") SONo = arg->GetArgString(L"EntityNo"); + arg = GetArg(); + SONo = arg.GetArgString(L"SONo"); + if (SONo == L"") SONo = arg.GetArgString(L"EntityNo"); } if (SONo != L"") { @@ -1046,8 +1046,8 @@ if (CustomerID != L"") { - dw_base.ItemChangeTo(1, L"CustomerID", arg->GetArgString(L"CustomerID")); - dw_base.SetItemDisplayString(1, L"CustomerID", arg->GetArgString(L"CustomerName")); + dw_base.ItemChangeTo(1, L"CustomerID", arg.GetArgString(L"CustomerID")); + dw_base.SetItemDisplayString(1, L"CustomerID", arg.GetArgString(L"CustomerName")); xstring dwname = L"dw_base"; xstring colname = L"CustomerID"; xstring value = CustomerID; @@ -1065,9 +1065,9 @@ { SetAgent(); - if (GetParam()) + if (GetWinParam()) { - xaserverarg& arg = *(xaserverarg * )GetParam(); + xaserverarg arg = GetArg(); HCURSOR hCursor = xutil::SetCursorWait(); xstring SONo = arg.GetArgString(L"SONo"); if (SONo == L"") SONo = arg.GetArgString(L"EntityNo"); diff --git a/jrj/project/vindexmenu.cpp b/jrj/project/vindexmenu.cpp index 6e711c9..0f135ac 100644 --- a/jrj/project/vindexmenu.cpp +++ b/jrj/project/vindexmenu.cpp @@ -458,9 +458,9 @@ int OnInitial() { - if(GetParam()) + if(GetWinParam()) { - xaserverarg& arg = *(xaserverarg*)GetParam(); + xaserverarg arg = GetArg(); m_nHwnd = (HWND)arg.GetParam(L"hwnd"); cbx_menu = (void*)arg.GetParam(L"memuId"); cbx_tab = (void*)arg.GetParam(L"tabNo"); @@ -475,6 +475,8 @@ int onload() { + SetArg(); + m_bCanDestroy = 1; tv_menu1 = GetControl(L"menu1"); diff --git a/jrj/xframe/vbusiness/vframe/frame.vframe.vbusiness.hpp b/jrj/xframe/vbusiness/vframe/frame.vframe.vbusiness.hpp index fb87ba0..e7e2c89 100644 --- a/jrj/xframe/vbusiness/vframe/frame.vframe.vbusiness.hpp +++ b/jrj/xframe/vbusiness/vframe/frame.vframe.vbusiness.hpp @@ -6,7 +6,9 @@ class xframe : public xwin { public: - xframe(void* implPtr, HWND hWnd) :xwin(implPtr, hWnd) {} + xframe(void* implPtr, HWND hWnd) :xwin(implPtr, hWnd) { + this->SetArg(this->GetWinParam()); + } static int getUrl(string url1, string para, KXMLDOMDocument x) { diff --git a/jrj/xframe/vbusiness/vframe/listwin.vframe.vbusiness.hpp b/jrj/xframe/vbusiness/vframe/listwin.vframe.vbusiness.hpp index 899c8d3..828153e 100644 --- a/jrj/xframe/vbusiness/vframe/listwin.vframe.vbusiness.hpp +++ b/jrj/xframe/vbusiness/vframe/listwin.vframe.vbusiness.hpp @@ -147,14 +147,14 @@ int getURLParam() { - if (GetParam()) + if (GetWinParam()) { - xaserverarg* arg = (xaserverarg * )GetParam(); - xstring config = arg->GetArgString(L"config"); + xaserverarg arg = GetArg(); + xstring config = arg.GetArgString(L"config"); KXMLDOMDocument x; if (config == L"") { - string configXml = arg->GetArgString(L"configxml"); + string configXml = arg.GetArgString(L"configxml"); if (configXml == L"") return 1; x.loadXML(configXml); } diff --git a/jrj/xframe/vbusiness/vframe/maint.vframe.vbusiness.hpp b/jrj/xframe/vbusiness/vframe/maint.vframe.vbusiness.hpp index b912dc5..18eb1d6 100644 --- a/jrj/xframe/vbusiness/vframe/maint.vframe.vbusiness.hpp +++ b/jrj/xframe/vbusiness/vframe/maint.vframe.vbusiness.hpp @@ -66,23 +66,26 @@ int getURLParam() { - //xpage xp = GetXPage(); - //xstring aurl = xp.GetWkUrl(); - xaserverarg* arg = (xaserverarg *)GetParam(); - m_EntityID = arg->GetArgString(L"EntityID"); - xstring config = arg->GetArgString(L"config"); - KXMLDOMDocument x; - if (config == L"") + if (GetWinParam()) { - string configXml = arg->GetArgString(L"configxml"); - if (configXml == L"") return 1; - x.loadXML(configXml); + //xpage xp = GetXPage(); + //xstring aurl = xp.GetWkUrl(); + xaserverarg arg = GetArg(); + m_EntityID = arg.GetArgString(L"EntityID"); + xstring config = arg.GetArgString(L"config"); + KXMLDOMDocument x; + if (config == L"") + { + string configXml = arg.GetArgString(L"configxml"); + if (configXml == L"") return 1; + x.loadXML(configXml); + } + else + { + getUrl(config, L"", x); + } + m_configDoc = x; } - else - { - getUrl(config, L"", x); - } - m_configDoc = x; return 1; } diff --git a/jrj/xframe/wobject/xaserverarg.hpp b/jrj/xframe/wobject/xaserverarg.hpp index fa73996..d7a6fdf 100644 --- a/jrj/xframe/wobject/xaserverarg.hpp +++ b/jrj/xframe/wobject/xaserverarg.hpp @@ -39,7 +39,7 @@ xaserverarg(kxaserverarg* impl) :xnative(impl) {} xaserverarg():xnative(Hxsoft::XFrame::IXAServerArg::CreateInstance()){} xaserverarg(xaserverarg& rhs) { - ((kxaserverarg*)rhs.getNativePointer())->AddRef_(); + if(rhs.GetKXAServerArg()) rhs.GetKXAServerArg()->AddRef_(); this->setNativePointer(rhs.GetNativePtr()); } xaserverarg(xaserverarg&& rhs) { @@ -69,6 +69,11 @@ return *this; } + operator LPARAM() + { + return (LPARAM)this; + } + public: /*int AddArg(string argname,double val,string typ=NULL)// alias "?AddArg@IXAServerArg@XFrame@Hxsoft@@QAEHPB_WNO@Z"; { diff --git a/jrj/xframe/wobject/xwin.hpp b/jrj/xframe/wobject/xwin.hpp index 099e1b7..a1afa9b 100644 --- a/jrj/xframe/wobject/xwin.hpp +++ b/jrj/xframe/wobject/xwin.hpp @@ -14,6 +14,22 @@ class xwin: public xview { public: + xaserverarg m_xaserverarg; +public: + xaserverarg& GetArg() { return m_xaserverarg; } + void SetArg(LPARAM p) + { + m_xaserverarg = *(xaserverarg*)p; + } + void SetArg(xaserverarg & p) + { + m_xaserverarg = p; + } + void SetArg() + { + SetArg(GetWinParam()); + } +public: xwin(void * impl, HWND hWnd):xview(impl,hWnd){} public: kwin* getKWin() @@ -96,11 +112,11 @@ return xnode(getKWin()->SetAgentNodeContent((knode*)node.getNativePointer(), (knode*)val.getNativePointer())); } - LPARAM GetParam() + LPARAM GetWinParam() { return (LPARAM)getKWin()->GetParam(); } - bool SetParam(LPARAM pParam) + bool SetWinParam(LPARAM pParam) { return getKWin()->SetParam((void*)pParam); } -- Gitblit v1.9.3