同上

解决方案 »

  1.   

    快捷方式的起始path设置不对,应该指向程序的目录
      

  2.   

    是啊,用相对路径啊!
    procedure TForm1.Save1Click(Sender: TObject);var
      NewFileName: string;
      Msg: string;
      NewFile: TFileStream;
      OldFile: TFileStream;
    begin
      NewFileName := ExtractFilePath(Application.ExeName) + ExtractFileName(Edit1.Text);
      Msg := Format('Copy %s to %s?', [Edit1.Text, NewFileName]);
      if MessageDlg(Msg, mtCustom, mbOKCancel, 0) = mrOK then
      begin
        OldFile := TFileStream.Create(Edit1.Text, fmOpenRead or fmShareDenyWrite);
        try
          NewFile := TFileStream.Create(NewFileName, fmCreate or fmShareDenyRead);      try
            NewFile.CopyFrom(OldFile, OldFile.Size);
          finally
            FreeAndNil(NewFile);
          end;
        finally
          FreeAndNil(OldFile);
        end;
      end;end;
      

  3.   

    最好注册一下你的程序目录,当使用文件时用setcurrentdir()保证目录正确或修改快界方式的起始位置为你的目录位置
      

  4.   

    你在ADOCONNTION的连接属性里,把数据库前面的路径全部删除,然后把数据库拷贝到和EXE文件所在的路径就可以了,客户不管装到什么目录下都可以访问。