From e3f724c9fd36995c207a6ed173849c20aaa2e3d7 Mon Sep 17 00:00:00 2001 From: LiFan <2308045698@qq.com> Date: 星期二, 17 十二月 2024 13:06:22 +0800 Subject: [PATCH] update --- jrj/xframe/wobject/xaserverarg.hpp | 84 ++++++++++++++++++++++++++++++++++++++++-- 1 files changed, 80 insertions(+), 4 deletions(-) diff --git a/jrj/xframe/wobject/xaserverarg.hpp b/jrj/xframe/wobject/xaserverarg.hpp index 0909ca6..524d230 100644 --- a/jrj/xframe/wobject/xaserverarg.hpp +++ b/jrj/xframe/wobject/xaserverarg.hpp @@ -1,6 +1,6 @@ #pragma once #include "xnative.hpp" - +#include "xcontrol.hpp" namespace Hxsoft{ namespace XFrame { class IXAServerArg @@ -26,17 +26,54 @@ static int ReleaseInstance(IXAServerArg * pArgs); int SetXml(LPTSTR pStrXml); + public: + unsigned long AddRef_(); + unsigned long Release_(); }; }}; +using kxaserverarg = Hxsoft::XFrame::IXAServerArg; class xaserverarg : public xnative { public: + xaserverarg(kxaserverarg* impl) :xnative(impl) {} xaserverarg():xnative(Hxsoft::XFrame::IXAServerArg::CreateInstance()){} + xaserverarg(xaserverarg& rhs) { + if(rhs.GetKXAServerArg()) rhs.GetKXAServerArg()->AddRef_(); + this->setNativePointer(rhs.GetNativePtr()); + } + xaserverarg(xaserverarg&& rhs) { + ((kxaserverarg*)rhs.getNativePointer())->AddRef_(); + this->setNativePointer(rhs.GetNativePtr()); + } ~xaserverarg() { - Hxsoft::XFrame::IXAServerArg::ReleaseInstance((Hxsoft::XFrame::IXAServerArg*)getNativePointer()); + ((Hxsoft::XFrame::IXAServerArg*)getNativePointer())->Release_(); + //Hxsoft::XFrame::IXAServerArg::ReleaseInstance((Hxsoft::XFrame::IXAServerArg*)getNativePointer()); } +public: + kxaserverarg* GetKXAServerArg() + { + return (kxaserverarg*)this->GetNativePtr(); + } +public: + xaserverarg& operator =(xaserverarg& rhs) + { + return operator =(rhs.GetKXAServerArg()); + } + xaserverarg& operator =(kxaserverarg* rhs) + { + if (GetKXAServerArg())GetKXAServerArg()->Release_(); + if (rhs)rhs->AddRef_(); + SetNativePtr(rhs); + 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"; { @@ -46,6 +83,10 @@ { return ((Hxsoft::XFrame::IXAServerArg*)getNativePointer())->AddArg(argname,val,typ); }*/ + int AddArg(string argname, xstring val) //alias "?AddArg@IXAServerArg@XFrame@Hxsoft@@QAEHPB_W00@Z"; + { + return ((Hxsoft::XFrame::IXAServerArg*)getNativePointer())->AddArg(argname, val.c_str(), NULL); + } int AddArg(string argname,string val,string typ=NULL) //alias "?AddArg@IXAServerArg@XFrame@Hxsoft@@QAEHPB_W00@Z"; { return ((Hxsoft::XFrame::IXAServerArg*)getNativePointer())->AddArg(argname,val,typ); @@ -72,7 +113,7 @@ { return ((Hxsoft::XFrame::IXAServerArg*)getNativePointer())->SetArg(argname,val,typ); } - string GetString() //alias "?GetString@IXAServerArg@XFrame@Hxsoft@@QAEPB_WXZ" from "xframe.dll"; + xstring GetString() //alias "?GetString@IXAServerArg@XFrame@Hxsoft@@QAEPB_WXZ" from "xframe.dll"; { return ((Hxsoft::XFrame::IXAServerArg*)getNativePointer())->GetString(); } @@ -97,9 +138,24 @@ { return ((Hxsoft::XFrame::IXAServerArg*)getNativePointer())->GetArgInt((LPTSTR)argname); } - string GetArgString(string argname) //alias "?GetArgString@IXAServerArg@XFrame@Hxsoft@@QAEPA_WPA_W@Z"; + xstring GetArgString(string argname) //alias "?GetArgString@IXAServerArg@XFrame@Hxsoft@@QAEPA_WPA_W@Z"; { return ((Hxsoft::XFrame::IXAServerArg*)getNativePointer())->GetArgString((LPTSTR)argname); + } + + int SetParam(LPCTSTR pArgName, xcontrol& xc) + { + return ((Hxsoft::XFrame::IXAServerArg*)getNativePointer())->SetParam(pArgName,(LPARAM)xc.getNativePointer()); + } + + int SetParam(LPCTSTR pArgName, HWND hWnd) + { + return ((Hxsoft::XFrame::IXAServerArg*)getNativePointer())->SetParam(pArgName, (LPARAM)hWnd); + } + + int SetParam(LPCTSTR pArgName, KXMLDOMElement ele) + { + return ((Hxsoft::XFrame::IXAServerArg*)getNativePointer())->SetParam(pArgName, ele.ptr()); } int SetParam(LPCTSTR pArgName, LPARAM pValue) @@ -112,6 +168,26 @@ return ((Hxsoft::XFrame::IXAServerArg*)getNativePointer())->GetParam(pArgName); } + void* GetControl(LPCTSTR pArgName) + { + return (void*)((Hxsoft::XFrame::IXAServerArg*)getNativePointer())->GetParam(pArgName); + } + HWND GetHWND(LPCTSTR pArgName) + { + return (HWND)((Hxsoft::XFrame::IXAServerArg*)getNativePointer())->GetParam(pArgName); + } + + template<class T> + int SetParam(LPCTSTR pArgName, T pValue) + { + return ((Hxsoft::XFrame::IXAServerArg*)getNativePointer())->SetParam(pArgName, (LPARAM)pValue); + } + + template<class T> + T GetParam(LPCTSTR pArgName) + { + return (T)((Hxsoft::XFrame::IXAServerArg*)getNativePointer())->GetParam(pArgName); + } }; class xaserverargPtr -- Gitblit v1.9.3