我用了opendiaglog选了一个文件,
OpenDialog1.Execute;
fn:=OpenDialog1.filename;
CopyFile(pchar(fn),'c:\aa.txt',true);//这句没响应
后来我调试后发现OpenDialog1.Execute后,再操作那个选中的文件时提示该文件正在被程序使用..
我要如何能能把那个文件进行操作呢?

解决方案 »

  1.   

    CopyFile(pchar(fn),'c:\aa.txt',fasle);
      

  2.   

    procedure TForm1.Button2Click(Sender: TObject);
    var
      OpenDialog: TOpenDialog;
    begin
      OpenDialog := TOpenDialog.Create(nil);
      try
        OpenDialog.FileName := '*.txt';
        if OpenDialog.Execute then
        begin
          Copyfile(pchar(OpenDialog.FileName),'C:\aa.txt',false);
        end;
      finally
        OpenDialog.Free;
      end;
    end;
      

  3.   

    试了,最后一个参数是是否覆盖,
    我估计是要释放opendialog的某些东西 ..但不知道是什么..
      

  4.   

    试试if OpenDialog1.Execute then fn:=OpenDialog1.filename;
      

  5.   

      CopyFile(pchar(fn),'c:\aa.txt',true);//这句没响应showmessage(fn);看看文件名后面带扩展名了吗~~
    如果不带扩展名可能会因为找不到文件而没响应。
      

  6.   

    跟opendiaglog没关系吧,文件肯定是占用了
      

  7.   

    但是如果我不用opendialog来选择文件的话,那个copyfile是没问题的..
    只要两个合在一齐用,copyfile就提示被文件被使用中.
      

  8.   

    终于找到原因了..原来在我copyfile之前有一句代码打开了文件...谢谢各位了..