关于s60 对于大文件读写操作的问题

QT进行中 2009-08-28 09:35:11
大家好,我现在有一个函数 是用来处理一个文件的, 如果我的这个文件很大,比如 3MB 以上时,在处理的时候 要 5到 6秒钟, 我在在处理这个文件的时候给出一个等待提示, “正在处理文件” 但我调用系统的是等待条给出这个提示时, 这个提示就是不出现, 语句没有问题,我单独测试过。 我想可能是我的程序在 执行 处理文件函数时出现了 拥堵 我应该怎么来处理 这个操作呢?

//文件处理过程
这是那个函数:其中 文件处理要很长时间才会完成.
void CFileManagerView::DeclassifiedDocuments()
{
ExecuteWaitDialog1LD(); //调用等待
DoDecryption(iKey, iContainer->iFilePath );//文件处理顺序执行时间很长
RemoveWaitDialog1L(); //等待结束
}
我想可能是我的程序在 执行 处理文件函数时出现了 拥堵.因为我在读写文件时只是有 RFile 类中的 Read Write 来读写的, 没有用 异步操作,主要是我不太了解这种读写文件的方法, 所以请大家帮忙指点一下,谢谢!
//关于等待函数: 这是那个函数。是用系统的,
void CFileManagerView::ExecuteWaitDialog1LD( const TDesC* aOverrideText )
{
iWaitDialog1 = new ( ELeave ) CAknWaitDialog(
reinterpret_cast< CEikDialog** >( &iWaitDialog1 ), EFalse );
if ( aOverrideText != NULL )
{
iWaitDialog1->SetTextL( *aOverrideText );
}
iWaitDialog1->ExecuteLD(R_FILEMANAGER_CONTAINER1_WAIT_DIALOG1);
}
...全文
115 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
a14776584 2009-08-28
  • 打赏
  • 举报
回复
楼主读文件的时候需要采用异步机制:IMPORT_C void Read(TDes8 &aDes, TRequestStatus &aStatus) const;
同步读的时候执行到RFile::Read时线程阻塞了,然后等读完后再弹出对话框这样就有违楼主的初衷了

3,119

社区成员

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

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