最近在做播放器,遇到一个麻烦的问题。
用播放器打开一个音乐文件,比如A.mp3,此时这个文件被占用。
然后再用我的播放器打开列表,因为列表要一个一个读取文件信息,
读取到这个文件时,就会出现错误提示框。
说是找不到A.mp3,调试的时候,会发现
file.Seek(-128,CFile::end);
这里出错了,用try{}catch(CFileException *e){;}
也无效,还是弹出错误提示框,列表后面的文件也不会被读取,被中断了。
请问怎么处理。分不多,还请高手救命。
用播放器打开一个音乐文件,比如A.mp3,此时这个文件被占用。
然后再用我的播放器打开列表,因为列表要一个一个读取文件信息,
读取到这个文件时,就会出现错误提示框。
说是找不到A.mp3,调试的时候,会发现
file.Seek(-128,CFile::end);
这里出错了,用try{}catch(CFileException *e){;}
也无效,还是弹出错误提示框,列表后面的文件也不会被读取,被中断了。
请问怎么处理。分不多,还请高手救命。
解决方案 »
- 关于VC文档的名称
- CTreeControl的滚动条问题
- 问一个效率方面的问题
- 怎样才能正确获取UNIX文件服务器中的文件的修改时间、创建时间???通过Windows的API所获得的时间均为1980-12-01 12:00...
- 有关WSAGetLastError的问题!!!
- 点亮键盘的灯
- 关于改变指针的值的问题。。。
- 声援托普的同行们!一定要把这个大骗局揭穿,直到把托普搞垮为止!
- 如何改变属性页中的标签的颜色,包括标签页旁边的那块空白处的颜色
- 怎样不通过文件共享来播放某个远程机上的VCD文件
- 高亮clistctrl里面的一行 能否相当于按下一个button
- 使用vc读入外部文件中的函数的问题
{
CFile file(_T("xxx.mp3"), CFile::modeRead);
...
file.Close();
}
catch(...)
{
...
}
try{
file.Open((LPCTSTR)path,CFile::modeRead);
long seekpos=128;
file.Seek(-seekpos,CFile::end);
file.Close();
}catch(CFileException *e){;};不过他总是在file.Seek(-seekpos,CFile::end);里出错,try{}catch{}没用。
{
ASSERT_VALID(this);
ASSERT(m_hFile != INVALID_HANDLE_VALUE);
ASSERT(nFrom == begin || nFrom == end || nFrom == current);
ASSERT(begin == FILE_BEGIN && end == FILE_END && current == FILE_CURRENT);ASSERT(m_hFile != INVALID_HANDLE_VALUE);这里出错,
我不想让他提示,继续执行不行么?
-->
CFile file((LPCTSTR)path,CFile::modeRead);