你这个 Buf 变量有问题,动态内存申请一定要手工释放

解决方案 »

  1.   

    to : iriscat(猫小) 
    给个方法吧,代码?
      

  2.   

    var  FromF, ToF: file;
      NumRead, NumWritten: Integer;
      Buf: array[1..2048] of Char;
    begin
      if OpenDialog1.Execute then     { Display Open dialog box }
      begin
        AssignFile(FromF, OpenDialog1.FileName);
        Reset(FromF, 1); { Record size = 1 }
        if SaveDialog1.Execute then      { Display Save dialog box}
        begin
          AssignFile(ToF, SaveDialog1.FileName); { Open output file }      Rewrite(ToF, 1); { Record size = 1 }
          Canvas.TextOut(10, 10, 'Copying ' + IntToStr(FileSize(FromF))
            + ' bytes...');
          repeat
            BlockRead(FromF, Buf, SizeOf(Buf), NumRead);
            BlockWrite(ToF, Buf, NumRead, NumWritten);
          until (NumRead = 0) or (NumWritten <> NumRead);
          CloseFile(FromF);
          CloseFile(ToF);
        end;
      end;
    end;
    这是帮助里的源码啊!!
      

  3.   

    帮助里的源码运行正常啊!你的代码可能有问题,你试试用AllocMem/FreeMem,StrAlloc/StrDispose,这些去分配/释放内存,试试看。
      

  4.   

    你的代码问题不大。
    关键是如何使用线程。
    我现在所说对你没有帮助,Sorry。