//-----------------------------------------------------------------------------+ // Copyright (C), 1998-2007, SH Software Co. Ltd. // = FileName : XPushVar.h // = Version : ver2.0 // = Author : zjq // = CreateDate : 2002-09-09 // = Description: 类的声明 // = Maintainers: // //-----------------------------------------------------------------------------+ #ifndef _XPushVar_H_ #define _XPushVar_H_ #ifndef _XASTRING_H_ #include "XAString.h" #endif #ifndef _XWCSTRING_H_ #include "XWString.h" #endif #ifndef _XPRIVATE_H_ #include "XPrivateGlobalFunc.h" #endif template class XPushVar { public: XPushVar(const TCHAR *pszVar, K kVal) : var(pszVar),value(80) { xg_getvar(pszVar, &value); if (bLayer) { if (pszVar) { if (_tcsicmp(pszVar, _T("clayer")) == 0) { AssureLayer(pszVar, 0); // 确保存在 } xg_setvar(pszVar, kVal); } } else { xg_setvar(pszVar, kVal); } } XPushVar(const TCHAR *pszVar) : var(pszVar) { if (!bLayer) { xg_getvar(pszVar, &value); } } virtual ~XPushVar() { if (bLayer) { xg_setvar((LPCTSTR)var, (LPTSTR)value); } else { xg_setvar((const TCHAR *)var, value); } } public: XString var; K value; }; #ifndef XPushVarStr #define XPushVarStr XPushVar #endif #endif