From fbbba3f63db427c14e342afa6ba6e3db90b28e78 Mon Sep 17 00:00:00 2001
From: xj qian <qianxj15@sina.com>
Date: 星期三, 26 六月 2024 11:33:12 +0800
Subject: [PATCH] update element and arg ptr
---
jrj/xframe/wobject/xaserverarg.hpp | 32 ++++++++++++++++++++++++++++++--
jrj/xframe/kobject/kxml.hpp | 2 +-
2 files changed, 31 insertions(+), 3 deletions(-)
diff --git a/jrj/xframe/kobject/kxml.hpp b/jrj/xframe/kobject/kxml.hpp
index 8e1dd1f..3087b92 100644
--- a/jrj/xframe/kobject/kxml.hpp
+++ b/jrj/xframe/kobject/kxml.hpp
@@ -270,7 +270,7 @@
public:
KXMLDOMElementPtr(LPARAM ele) :m_pElement((KXMLDOMElement*)ele) {}
KXMLDOMElementPtr(KXMLDOMElement* pEle) :m_pElement((KXMLDOMElement*)pEle) {}
- //KXMLDOMElementPtr(KXMLDOMElement ele) :m_pElement(new KXMLDOMElement(ele)) {}
+ KXMLDOMElementPtr(KXMLDOMElement ele) :m_pElement(new KXMLDOMElement(ele)) {}
public:
KXMLDOMElement* value() { return m_pElement; }
public:
diff --git a/jrj/xframe/wobject/xaserverarg.hpp b/jrj/xframe/wobject/xaserverarg.hpp
index 5eb0ce1..30dade5 100644
--- a/jrj/xframe/wobject/xaserverarg.hpp
+++ b/jrj/xframe/wobject/xaserverarg.hpp
@@ -26,17 +26,45 @@
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){
+ ((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;
+ }
+
public:
/*int AddArg(string argname,double val,string typ=NULL)// alias "?AddArg@IXAServerArg@XFrame@Hxsoft@@QAEHPB_WNO@Z";
{
@@ -133,7 +161,7 @@
xaserverargPtr() :arg(new xaserverarg) {}
xaserverargPtr(LPARAM* val) :arg((xaserverarg*)val) {}
xaserverargPtr(xaserverarg* val) :arg(val) {}
- //xaserverargPtr(xaserverarg val) :arg(new xaserverarg(val)){}
+ xaserverargPtr(xaserverarg val) :arg(new xaserverarg(val)){}
public:
xaserverarg* value() { return arg; }
public:
--
Gitblit v1.9.3