找回密码
 注册
搜索
查看: 726|回复: 5

[讨论] 再请教MTK simulator中字符串的定义,附程序

[复制链接]
发表于 2008-11-25 17:36:22 | 显示全部楼层 |阅读模式
1.在PLutommi\mmi\inc\PixtelDataType.h中定义:
        RESOURCE_BASE_RANGE(MYAPP,                      100),
/***************************************************************************
* MyApp
****************************************************************************/
#define MYAPP_BASE                            ((U16) RESOURCE_BASE_MYAPP)
#define MYAPP_BASE_MAX                        ((U16) RESOURCE_BASE_MYAPP_END)
RESOURCE_BASE_TABLE_ITEM(MYAPP)

2.在plutommi\Customer\ResGenerator\makefile加上路径:
-I "../../MMI/MyApp/MyAppInc"
3.在PLUTOMMI\MMI\MYAPP\MYAPPINC\MYAPPDEFS.H为:
#ifndef __MYAPPDEFS_H
#define _MYAPPDEFS_H

#include "MMI_features.h"
#include "PixtelDataTypes.h"

typedef enum
{
     SCR_MYAPP_MAIN=MYAPP_BASE+1,
}SCREENID_LIST_MYAPP;

typedef enum
{
      STR_MYAPP_HELLO=MYAPP_BASE+1,
}STRINGID_LIST_MYAPP;

#endif /*_MYAPPDEFS_H*/

4.在plutommi\Customer\CustResource\PLUTO_MMI中的ref_list.txt(同时将RES_MMI目录中的ref_list.txt)定义字串(UltraEdit情况):

在Microsoft Excel中显示

5.在plutommi\customer\custresource\pluto_mmi\res_mmi中编辑res_myapp.c
   #include "MMI_features.h"
#include "StdC.h"
#include "CustomCfg.h"
#include "myappdefs.h"

#ifdef DEVELOPER_BUILD_FIRST_PASS
#include "PopulateRes.h"
void PopulateMyAppRes(void)
{
       ADD_APPLICATION_STRING2(STR_MYAPP_HELLO,"Hello,World","MyApp.");
}
#endif /*DEVELOPER_BUILD_FIRST_PASS*/
     6.修改plutommi\mmi\resource目录下的PopulateRes.c文件:
//#if defined(__MMI_MYAPP__)
    extern void PopulateMyAppRes(void);
//#endif
void PopulateResData(void)
{
    ……
#if defined(__MMI_MYAPP__)
         PRINT_INFORMATION(("Populating MyApp Resources\n"));
        PopulateMyAppRes();
#endif
    ……
}
7.        在plutommi\mmi\inc\mmi_feaures.h中定认MMI_MYAPP
/****************************************************************************
    [Application]:MyApp
****************************************************************************/
#define _MMI_MYAPP_

完成上述过程后,build new或在plutommi\customer\下运行remakeresource.bat,然后在VC中build,
可是运行后,  pixtel_UI_print_text((UI_string_type)GetString(STR_MYAPP_HELLO));得不到字串。
而且在remakeresource.bat运行后,看custstrlist.txt中没有STR_MYAPP_HELLO字符串的定义。
不知道原因是什么。请各位指点。
发表于 2008-11-25 18:45:19 | 显示全部楼层
确认一下在PopulateResData函数中_MMI_MYAPP_ 是否定义。
点评回复

使用道具 举报

 楼主| 发表于 2008-11-25 21:30:50 | 显示全部楼层
我是在mm_features.h中定义的.而PopulateResData.c中包函了mm_features.h,如下是PopulateResData.c
的前面几行:
#include "MMI_features.h"
#include "GlobalMenuItems.h"
#include "custdatares.h"
#include "CustDataProts.h"
#include "custmenures.h"
#include "FontDCL.h"
#include "DebugInitDef.h"
#include "CallsDefs.h"
#include "Globaldefs.h"
#include "wgui_categories.h"
#include "wgui_categories_defs.h"
#include "SATGProts.h"
#include "BootUp.h"

而mm_features.h中以如下方式定义了_MMI_MYAPP_:
在plutommi\\mmi\\inc\\mmi_feaures.h中定认MMI_MYAPP
/****************************************************************************
    [Application]:MyApp
****************************************************************************/
#define _MMI_MYAPP_
点评回复

使用道具 举报

发表于 2008-11-26 09:27:35 | 显示全部楼层
确认两个问题:
1  打印出GetString(STR_MYAPP_HELLO)得到的地址及以后的地址中的内容,看看是不是有数据。
2  pixtel_UI_print_text如果是用在模拟器上,可能需要pixtel_UI_lock_double_buffer 和pixtel_UI_unlock_double_buffer的。
点评回复

使用道具 举报

 楼主| 发表于 2008-11-26 09:59:04 | 显示全部楼层
GetString(STR_MYAPP_HELLO)得到的没有数据.
谢谢,我试试.
点评回复

使用道具 举报

 楼主| 发表于 2008-11-26 10:20:48 | 显示全部楼层
我看了系统带的GUI中pixtel_UI_print_text的使用,不需要pixtel_UI_lock_double_buffer 和pixtel_UI_unlock_double_buffer.另外我在用了remakeresource.bat之后,查询resGenerator目录下的noTranslation.txt中
的内容,其它的定义都有,只是没有STR_MYAPP_HELLO的定义.我想问题就出在这里,只是我不知道原因何在.
点评回复

使用道具 举报

高级模式
B Color Image Link Quote Code Smilies

本版积分规则

Archiver|手机版|小黑屋|52RD我爱研发网 ( 沪ICP备2022007804号-2 )

GMT+8, 2024-12-28 05:19 , Processed in 0.045990 second(s), 16 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表