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