IFILEMGR_OpenFile求教

Lino 2007-01-26 01:42:12
#define TEST_DATAFILE_FULLNAME "fs:/shared/mnm/mn_data.txt"

IFileMgr *fpmgr=NULL;
IFile *fp=NULL;

fp = IFILEMGR_OpenFile(fpmgr, (const char *)TEST_DATAFILE_FULLNAME, _OFM_READ);
怎么总是导致设备重启啊,
路径肯定没有问题,而且就算路径有问题,也是返回空啊

IFILEMGR_Test(fpmgr, (const char *)TEST_DATAFILE_FULLNAME )
也是同样的问题,没有错误返回,直接重启设备。
...全文
1962 22 打赏 收藏 转发到动态 举报
写回复
用AI写文章
22 条回复
切换为时间正序
请发表友善的回复…
发表回复
雨月琉琉 2008-10-30
  • 打赏
  • 举报
回复
哈,在各位指导下,问题解决了 ,太感谢了
炽天使_1985 2008-07-20
  • 打赏
  • 举报
回复
上面圆舞曲 说的很对 !!
我写过这样的代码,但是没有遇见过这样的问题
这只是一部分哈
static boolean Score_HandleEvent(IApplet * pi, AEEEvent eCode, uint16 wParam, uint32 dwParam)
{
Score *pThis = (Score *)pi;
IFileMgr *pFileMgr = NULL;
IFile *pFile = NULL;

char file_name[MAX_FILE_NAME+1] = {0};
switch (eCode)
{
case EVT_APP_START:

// Add your code here .....
SPRINTF(file_name, "%s\\%s", AEE_SHARED_DIR, "test.dat");

ISHELL_CreateInstance(pThis->a.m_pIShell, AEECLSID_FILEMGR, (void **)&pFileMgr);
if (IFILEMGR_Test(pFileMgr, file_name) == SUCCESS)
{
pFile = IFILEMGR_OpenFile(pFileMgr, file_name, _OFM_READWRITE);
if (NULL == pFile)
{
return FALSE;
}
Score_ReadUserInfo(pThis, pFile);
}
else
{
pFile = IFILEMGR_OpenFile(pFileMgr, file_name, _OFM_CREATE);
if (NULL == pFile)
{
return FALSE;
}
Score_InitUserInfo(pThis, pFile);
}
//read/write;
IFILE_Release(pFile);
IFILEMGR_Release(pFileMgr);
pThis->index = 0;
Score_DisplayUserInfo(pThis);
return(TRUE);
case EVT_APP_STOP:

// Add your code here .....
SPRINTF(file_name, "%s\\%s", AEE_SHARED_DIR, "test.dat");
ISHELL_CreateInstance(pThis->a.m_pIShell, AEECLSID_FILEMGR, (void **)&pFileMgr);
pFile = IFILEMGR_OpenFile(pFileMgr, file_name, _OFM_READWRITE);
if (NULL == pFile)
{
return FALSE;
}
if( !Score_WriteUserInfo(pThis, pFile) )
{
IFILEMGR_Remove(pFileMgr, file_name);
return FALSE;
}
IFILE_Release(pFile);
IFILEMGR_Release(pFileMgr);
return TRUE;

case EVT_KEY:
switch(wParam)
{
case AVK_LEFT:
if ( 0 == pThis->index )
{
pThis->index = USER_NUMBER-1;
}
else
{
pThis->index --;
}
break;
case AVK_RIGHT:
if ( (USER_NUMBER-1) == pThis->index )
{
pThis->index = 0;
}
else
{
pThis->index ++;
}
break;
case AVK_UP:
pThis->user[pThis->index].score++;
break;
case AVK_DOWN:
pThis->user[pThis->index].score--;
break;
}
Score_DisplayUserInfo(pThis);
return TRUE;
default:
break;
}
return FALSE;
}
呵呵 我在社区里面上传了一些BREW代码 对刚学习BREW的还是有带你帮助!!
allen468 2008-07-10
  • 打赏
  • 举报
回复
要在MIF中要设置文件读写权限
UltraBejing 2008-05-01
  • 打赏
  • 举报
回复
以后需再关注,现在先帮你顶一下
knowledge_Is_Life 2008-05-01
  • 打赏
  • 举报
回复
什么呀
mountsoulluo 2008-02-01
  • 打赏
  • 举报
回复
空指针和野指针是导致reset的常见原因
benoit_fr 2007-12-22
  • 打赏
  • 举报
回复
用fpmgr指针之前首先要创建一个实例

用ISHELL_CreateInstance(pThis->a.m_pIShell, AEECLSID_FILEMGR, (void**)&fpmgr);

这样再用应该就没有问题了,导致模拟器reset的原因应该是 fpmgr始终为NULL。

rachel99 2007-12-13
  • 打赏
  • 举报
回复
用IFILEMGR_GetLastError()
检查错误
Johnny_sheng 2007-09-19
  • 打赏
  • 举报
回复
现创建IFileMgr,然后才能使用IFile接口
yanpengchao 2007-07-18
  • 打赏
  • 举报
回复
同意楼上的,你要先创建一个IFileMgr接口,然后才能进行相关操作。
yuanwuqu 2007-05-17
  • 打赏
  • 举报
回复
首先,检查一下你的mif文件权限,看看是否已经选中了File 和 Write Access to Shared dired

下面Demo供参考:
IFileMgr *pIFileMgr=NULL ;
IFile *pIFile= NULL ;
char *pszFile=NULL ;

ISHELL_CreateInstance( m_pIShell, AEECLSID_FILEMGR, (void**)&pIFileMgr ) ;

nRet = IFILEMGR_Test( pIFileMgr, "test.dat" ) ;
if ( SUCCESS == nRet ) {
pIFile = IFILEMGR_OpenFile( pIFileMgr, "test.dat", _OFM_READWRITE ) ;
}else {
pIFile = IFILEMGR_OpenFile ( pIFileMgr, "test.dat", _OFM_CREATE) ;
}
if ( NULL == pIFile ) {
return false ;
}

// 读写等其他操作


IFILE_Release( pIFile) ;
IFILEMGR_Release( pIFileMgr ) ;

sunny_jerry 2007-04-27
  • 打赏
  • 举报
回复
创建实例,可以IFileMgr_Test下,看文件是否存在
ArthurJava 2007-03-18
  • 打赏
  • 举报
回复
if(success != ishell_createinstance(...,...,fpmgr))
return false;
lei001 2007-03-05
  • 打赏
  • 举报
回复
先要创建实例的
aetherstone 2007-02-27
  • 打赏
  • 举报
回复
IFileMgr *fpmgr=NULL;
IFile *fp=NULL;

fp = IFILEMGR_OpenFile(fpmgr, (const char *)TEST_DATAFILE_FULLNAME, _OFM_READ);

fpmgr为空,重起很正常.
你要先创建IFileMgr的实例指针,才能进行相关操作

唏嘘的猪肉贩 2007-02-25
  • 打赏
  • 举报
回复
fpmgr 需要先创建实例 AEECLSID_FILEMGR
Aarin 2007-02-04
  • 打赏
  • 举报
回复
fpmgr有createinstant么?
sunwhite 2007-01-29
  • 打赏
  • 举报
回复
你是否已经开启了mif中对共享目录操作的权限
linfengwang 2007-01-27
  • 打赏
  • 举报
回复
我觉得即使不能正确访问文件,也应该返回错误呀。可是现在手机直接当掉。导致无法定位问题。我用的平台是brew3.0的,谢谢!
linfengwang 2007-01-27
  • 打赏
  • 举报
回复
我现在也遇到这个问题,都折腾了两天还是不行呀。郁闷死了,是不是高通的这个接口有问题。
IFileMgr * ,借口肯定是创建成功了。而且别的文件都可以操作,但是有一个文件就是不行。运行到这里手机直接死机,用仿真器跟踪,结果好像和内存分配失败有关,最终导致重启!!!
加载更多回复(1)

1,012

社区成员

发帖
与我相关
我的任务
社区描述
本论坛以AI、WoS 、XR、IoT、Auto、生成式AI等核心板块组成,为开发者提供便捷及高效的学习和交流平台。 高通开发者专区主页:https://qualcomm.csdn.net/
人工智能物联网机器学习 技术论坛(原bbs) 北京·东城区
社区管理员
  • csdnsqst0050
  • chipseeker
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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