xj qian
2024-06-26 fbbba3f63db427c14e342afa6ba6e3db90b28e78
update element and arg ptr
已修改2个文件
34 ■■■■■ 文件已修改
jrj/xframe/kobject/kxml.hpp 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
jrj/xframe/wobject/xaserverarg.hpp 32 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
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:
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: