提示错误:the system cannot find the file specified  //附件双击
Var
  Name, Line: String;
  IsDirectory: Boolean;
begin
  Line:='D:\Temp';
  CreateDirectory(Line,nil);
  if DataSetBroker5.DataSet.RecordCount=0 then Exit;
  if not IdFTP1.Connected then exit;
  Name:=DataSetBroker5.DataSet.FieldByName('FWQWJM').AsString;
  if IsDirectory then begin
    IdFTP1.ChangeDir(Name);
    IdFTP1.TransferType :=TIdFTPTransferType.ftASCII;
  end
  else begin
  try
    Line :=Line+'\'+Name;
    IdFTP1.TransferType :=TIdFTPTransferType.ftBinary;
    BytesToTransfer := IdFTP1.Size(Name);
    IdFTP1.Get(Name,Line, true);
  Except
  end;
  end;  ShellExecute(Handle, 'open', PChar(Line), '', '', SW_SHOW);end;Name的值是7095619A-19A4-4D29-A752-7C36A47C6DEC.pdf我用别人写的程序打开的话是能打开的(FTP服务器是别人的,我复制它们的表的数据,自己在做个FTP链接使用他们的FTP服务器)自己写的上面代码,就出现了那问题,何解?

解决方案 »

  1.   

    大哥,能不能调试一下再说话啊,debug是干啥的!
    很明显,由于if IdFTP1.ChangeDir else IdFTP1.ChangeDir FTP目录后找不到相应文件,那用不用我告诉你在哪放断点:)?
      

  2.   


    我也知道是找不到对应文件的意思,但是Ftp服务器上是有这个文件的
    一楼我已经说明了,用别人的程序来打开这个文件(7095619A-19A4-4D29-A752-7C36A47C6DEC.pdf )是能打开的,证明Ftp服务器是有这个文件的
    只是到我做的时候就找不到那文件,不知道何解?