Reset(TempFile);   //先要打开文件
Len:=FileSize(TempFile);  
CloseFile(TempFile); 

解决方案 »

  1.   

    AssignFile(TempFile,OpenFileDlg.FileName);
    Reset(TempFile); //应首先打开该文件
    Len:=FileSize(TempFile);
      

  2.   

    把你的程序改成下面这样,在len:=filesize(tempfile)前加一句Reset(tempfile);
    procedure TFileTransForm.FormCreate(Sender: TObject);
    var
      TempFile:File of Byte;
      Len:Integer;
    begin
      if(OpenFileDlg.Execute) and (FileExists(OpenFileDlg.FileName)) then
        begin
          FileNameEdt.Text:=OpenFileDlg.FileName;
          AssignFile(TempFile,OpenFileDlg.FileName);
       Reset(tempfile);
          Len:=FileSize(TempFile);  //运行时,就是这儿出错,不光是text file,什么文件都不行
          FileSizeEdt.Text:=IntToStr(Len);
        end;
    end;