2009-05-09 17:30
Symbian系统不直接支持静态变量。但可以通过以下两种方法来利用静态变量的功能。
1。将变量放入全局总控类(如AppUi)中,保证其唯一。
2. 使用CCoeStatic的派生类。
class CHtmlCtlEnv : public CCoeStatic
{
public:
static CHtmlCtlEnv* Static();
CHtmlCtlEnv();
}
#define KHtmlCtlEnvUid TUid::Uid(0x080F046C)
CHtmlCtlEnv* CHtmlCtlEnv::Static()
{
CHtmlCtlEnv* instance = static_cast<CHtmlCtlEnv*> ( CCoeEnv::Static( KHtmlCtlEnvUid ) );
if ( !instance )
{
instance = new ( ELeave ) CHtmlCtlEnv;
instance->ConstructL();
}
return instance;
}
CHtmlCtlEnv::CHtmlCtlEnv() : CCoeStatic(KHtmlCtlEnvUid, -1)
{
}