BREW应用程序中的函数获取当前小程序指针的方法

王朝other·作者佚名  2006-01-10
窄屏简体版  字體: |||超大  

在BREW应用开发过程中我们经常在功能函数中要使用当前小程序的一些接口实例,如IShell、IDisplay等等,通常我们都是把自己的包含IApplet实例的结构体或对象指针传递给函数,然后实现我们的操作。

例如:

draw()函数实现一些绘制操作,通常我们这样实现:

void draw(IShell* pshell,IDisplay* pdisplay)

{

ISHELL_GetDeviceInfo(pshell,.....);

ISHELL_LoadResString(pshell,.....);

IDISPLAY_SetColor(pdisplay,.....);

IDISPLAY_DrawText(pdisplay,.....);

.........

IDISPLAY_Update(pdisplay);

}

每次我们都要传递这些实例的指针,呵呵 比较麻烦,而且好像开销也大些

我们可以使用GETAPPINSTANCE()来获得这些接口指针

void draw()

{

AEEApplet* pthis=(AEEApplet*)GETAPPINSTANCE();//获得IApplet指针,并强制转换成AEEApplet

//然后我们就可以方便的使用pthis了

ISHELL_GetDeviceInfo(pthis->m_pIShell,.....);

ISHELL_LoadResString(pthis->m_pIShell,.....);

IDISPLAY_SetColor(pthis->m_pIDisplay,.....);

IDISPLAY_DrawText(pthis->m_pIDisplay,.....);

.........

IDISPLAY_Update(pthis->m_IDisplay);

}

我觉得这样的话,对于我们编写通用的函数,或者写连接库的时候,更方便一些。

这样代码的代码以后重用的话比较方便些。

本人是这样认为的,欢迎大家一块讨论。

我的EMAIL elsec@126.com

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航