From f1f12fc0cfd1b5e10d3b91eef548a026bf0ba38c Mon Sep 17 00:00:00 2001
From: xj qian <qianxj15@sina.com>
Date: 星期三, 26 六月 2024 09:50:55 +0800
Subject: [PATCH] update element ptr

---
 jrj/xframe/wobject/xaserverarg.hpp |   28 ++++++++++++++++++++++++++++
 1 files changed, 28 insertions(+), 0 deletions(-)

diff --git a/jrj/xframe/wobject/xaserverarg.hpp b/jrj/xframe/wobject/xaserverarg.hpp
index 0faff43..5eb0ce1 100644
--- a/jrj/xframe/wobject/xaserverarg.hpp
+++ b/jrj/xframe/wobject/xaserverarg.hpp
@@ -112,4 +112,32 @@
 		return ((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
+{
+public:
+	xaserverarg* arg;
+public:
+	xaserverargPtr() :arg(new xaserverarg) {}
+	xaserverargPtr(LPARAM* val) :arg((xaserverarg*)val) {}
+	xaserverargPtr(xaserverarg* val) :arg(val) {}
+	//xaserverargPtr(xaserverarg val) :arg(new xaserverarg(val)){}
+public:
+	xaserverarg* value() { return arg; }
+public:
+	operator xaserverarg& () { return *arg; }
+	operator xaserverarg* () { return arg; }
+	xaserverarg* operator ->() { return arg; }
 };
\ No newline at end of file

--
Gitblit v1.9.3