在将附件保存到本地时出现错误,用的是idpop3,idmessage两个控件
TIdAttachment(IdMessage1.MessageParts.Items[I]).SaveToFile('c:\mail\'+TIdAttachment(IdMessage1.MessageParts.Items[I]).FileName);  出现’error saving attachment‘哪位高手帮忙解决,不胜感激.另,如果将savetofile的目标文件换成savedialog1.filename则正确,不知是何故?

解决方案 »

  1.   

    你先定义个
    var
    LoadFile:string;
    然后把
    LoadFile:='c:\mail\'+TIdAttachment(IdMessage1.MessageParts.Items[I]).FileName';把loadfile变量传递进去,看对不对
      

  2.   

    sorry,看错了,应该是'c:\mail\',
    你再看看 
    retrieve之前idmessage有没有clear
      

  3.   

    另外,
    在保存之前showmessage('c:\mail\'+TIdAttachment(IdMessage1.MessageParts.Items[I]).FileName)看看路径是否正确
      

  4.   

    nyf1220,drift1981,多谢你们相助。我刚开始用的是存放路径为:label1.caption+TIdAttachment(IdMessage1.MessageParts.Items[I]).FileName);  以为label1.caption等同于'c:\mail\',今天我试着写上一个死路径,这个存放附件的过程就没有出错了。但是我不明白为什么label1.caption就不行,我使用showmessage检查过,路径和文件名都没有问题。现在我得问题暂时解决,我要把分给你们两个平均,呵呵。多谢知道。