我在D盘有一个工程,当我把它拷贝到U盘后,用Delphi从U盘上打开该工程时,它仍然到D盘上去读该工程,我在该工程的文件中没有找到路径存放的地方,这是何原因,如何解决?

解决方案 »

  1.   

    打开菜单
      Project->Options
       选项页:Directories/conditionals
      

  2.   

    U盘中也可以的吗?要不楼主试试在Project->Options-> Directories/conditionals->searchpath单击searchpath编辑框后边的dockbutton按钮将U盘目录加进来;
      

  3.   

    Project->Options-> Directories/conditionals->searchpath
      

  4.   

    Project->Options
    选项页:Directories/conditionals
      

  5.   

    除了以上原因话,也与工程内文件的组织路径有关
    比如,我的工程用了一公共库文件FMC_DCOM.pas,它里面有许多常用的函数方便使用
    如果是相对路径工程源码会显示如下:
    --------------------------------
    program Project1;uses
      Forms,
      Unit1 in 'Unit1.pas' {Form1},
      FMC_DCOM in '..\..\..\..\disk_f\FMC2000_Share\SHARE\FMC_DCOM.pas';{$R *.RES}begin
      Application.Initialize;
      Application.CreateForm(TForm1, Form1);
      Application.Run;
    end.若是绝对路径工程源码会显示如下:
    --------------------------------
    program Project1;uses
      Forms,
      Unit1 in 'Unit1.pas' {Form1},
      FMC_DCOM in 'd:\disk_f\FMC2000_Share\SHARE\FMC_DCOM.pas';{$R *.RES}begin
      Application.Initialize;
      Application.CreateForm(TForm1, Form1);
      Application.Run;
    end.
    工程内的其他源文件也有类似情况,所以可能也和你的工程文件组织有关了
      

  6.   

    同意楼上的几位,
    谢谢:kingting(萧羽)
      

  7.   

    to kingting(萧羽): 你说的很正确,但是相对路径的盘符又是在哪里确定的呢?没有指定绝对路径,它又是怎么知道在哪个盘哪个文件夹中读取文件呢?我原来在D盘中的工程的Project->Options-> Directories/conditionals全都为空,并没有指定在D盘的某文件夹,可能还有一个确定该工程绝对路径的地方我们没有找到。