关于rss的疑问

RichieChyi 2008-04-30 09:35:06
在一个exe中,可否定义两个资源rss文件?

我试过,"工程名.rss"生成的rsg文件格式为
#define R_HEWB_PROMPT_EXPIRED 0x277c400a

而自定义的rss文件生成的rsg的格式为
#define R_XXX 1
#define R_YYY 2

生成了1,2...这样的值,这些值在加载资源的时候会出问题。

我想问一下,这是不是说,一个工程中不能使用多个rss文件,谢谢!

另外,还有一个问题,在Dll中可否加入一些UI资源,比如在生成Dll的工程中加入rss,然后在Dll提供的API中使用。这样在外部使用该组件的时候,就可以使用Dll中的资源,显示一些UI...我这样试过,好像也不成...高手们指点一下,谢谢!
...全文
193 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
ltcappui 2008-05-06
  • 打赏
  • 举报
回复
>>我想问一下,这是不是说,一个工程中不能使用多个rss文件,谢谢!
一个文件当然可以有多个Rss文件,但是关键是Rss文件的主信息只有一个(就是开头那几句)。

想Load不同的Rss,只需要在程序中读取就可以了9楼的方法没有问题。
Beover1984 2008-05-04
  • 打赏
  • 举报
回复
可以使用CCoeEnv::AddResourceFileL()为当前程序添加资源文件,使用时需要保存它的返回值,当释放资源时需要使用CCoeEnv::DeleteResourceFile()并传入之前保存的数值.
isarc 2008-05-04
  • 打赏
  • 举报
回复
NAME TEST

#include <avkon.rsg>
#include <avkon.rh>
#include <eikon.rh>
#include <appinfo.rh>
#include "test.hrh"
#include "test.loc"

RESOURCE RSS_SIGNATURE
{
}
RESOURCE TBUF
{
buf = "test";
}
RESOURCE EIK_APP_INFO r_application_test_app_ui
{
cba = R_AVKON_SOFTKEYS_OPTIONS_EXIT;
status_pane = r_application_status_pane;
}
RESOURCE STATUS_PANE_APP_MODEL r_application_status_pane
{
}
RESOURCE LOCALISABLE_APP_INFO r_localisable_app_info
{
short_caption = STR_testApplication_5;
caption_and_icon = CAPTION_AND_ICON_INFO
{
caption = STR_testApplication_4;
number_of_icons = 0;
};
}
RESOURCE TBUF r_application_akn_view_reference1
{
}

#include "testSettingItemList.rssi"




another file



#include "testSettingItemList.hrh"
#include "testSettingItemList.loc"

RESOURCE AVKON_VIEW r_test_setting_item_list_test_setting_item_list_view
{
cba = R_AVKON_SOFTKEYS_OPTIONS_EXIT;
menubar = r_test_setting_item_list_options_menu;
toolbar = 0;
}
RESOURCE MENU_BAR r_test_setting_item_list_options_menu
{
titles =
{
MENU_TITLE
{
menu_pane = r_test_setting_item_list_menu_pane1_menu_pane;
}
};
}
RESOURCE MENU_PANE r_test_setting_item_list_menu_pane1_menu_pane
{
items =
{
MENU_ITEM
{
command = ETestSettingItemListViewMenuItem1Command;
txt = STR_testSettingItemListView_7;
}
};
}
RESOURCE STATUS_PANE_APP_MODEL r_test_setting_item_list_status_pane
{
panes =
{
SPANE_PANE
{
id = EEikStatusPaneUidTitle;
type = EAknCtTitlePane;
resource = r_test_setting_item_list_title_resource;
}
};
}
RESOURCE TITLE_PANE r_test_setting_item_list_title_resource
{
txt = STR_testSettingItemListView_5;
}
RESOURCE AVKON_SETTING_ITEM_LIST r_test_setting_item_list_test_setting_item_list
{
flags = EAknSettingItemNumberedStyle;
}
RichieChyi 2008-05-04
  • 打赏
  • 举报
回复
大家有没有idea啊~:)
RichieChyi 2008-05-04
  • 打赏
  • 举报
回复
isarc,可否留个联系方式?想细细请教你一下~我的MSN:qiruichao@hotmail.com 拜托了!
RichieChyi 2008-05-04
  • 打赏
  • 举报
回复
isarc,可否把mmp文件里两个资源文件的指定代码也给我看看呢...
怎么我怎么弄都不行:(
我自己添加的rss文件,在解决方案视图里,右键的“编译”按钮是灰显的。工程自带的rss文件可以“右键->编译”...不知道为什么:(
RichieChyi 2008-05-04
  • 打赏
  • 举报
回复
请问:
				// Add resource file
_LIT(KResoucrFile, "ResourceUseInDll.rSC");
TBuf<KMaxName> filename(KResoucrFile);
TInt result = CCoeEnv::Static()->AddResourceFileL(filename);


文件名需要指定目录吗?CCoeEnv::AddResourceFileL()可以在Dll中使用吗?谢谢!
UltraBejing 2008-05-01
  • 打赏
  • 举报
回复
没遇到过这种情况.
isarc 2008-04-30
  • 打赏
  • 举报
回复
当然可以加载多个rss文件,你用carbide生成一个多视图的例子,就可以看到了。
RichieChyi 2008-04-30
  • 打赏
  • 举报
回复
是这样的,本想在Dll中加入资源,如果这样可以实现,应该比较完美,可惜没有成功。所以决定做一个单独的rss文件和rls文件供外部使用,在外部使用Dll时,需要#include Dll中的资源的rss文件,所以就会有两个rss,如果这样能够实现,虽不完美,但可以接受,起码外部使用时,只需#include进Dll的资源文件就可以了。但这样#include的话,就会出现上述#define问题造成加载资源出错。

但在外部rss中定义Dll中的UI资源,而不是#include,就没有问题...当然,这样做,就最不完美了。

各位大侠指点一下,看有没有什么解决办法啊~谢谢!
jmulxg 2008-04-30
  • 打赏
  • 举报
回复
一个就够了,为何还要两个?

帮顶一下
RichieChyi 2008-04-30
  • 打赏
  • 举报
回复
多视图的例子也是一个rss呀~:(

3,119

社区成员

发帖
与我相关
我的任务
社区描述
塞班系统(Symbian系统)是塞班公司为手机而设计的操作系统,它的前身是英国宝意昂公司的 EP ( Electronic Piece of cheese)操作系统。
社区管理员
  • Symbian社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧