代码中有盘符、路径,如:“F:\help.hlp”为了打包后能正常运行应如何解决?请详细回答!谢谢!!

解决方案 »

  1.   

    WorkDir := ExtractFileDir(Application.ExeName);
    用的时候   路径=WorkDir+'\help.hlp'
    ------------------------------------------------------------------------------
    金盆洗澡    重出江湖     打劫.抢分   掀起一场腥风血雨   戒烟攒钱 只为换新车
      

  2.   

    如果有可能,最好不要用这种方式,因为有的机器可能没有F盘,或者F是光盘,最好去盘符,重新编译
    如果实在不能改就在程序加载的时候动态建立一个虚拟盘
    procedure Tmainform.okstartbtnClick(Sender: TObject);
    var
    st:string;      //用于存放dos命令;
    begin
    if fileedit.text='' then   //如果没有选择目录,则提示后退出;
    begin
      showmessage('请确定你选择了要虚拟的文件夹');
      exit
      end;
    st:='/c subst '+drivecombox.text+' '+fileedit.text;   //预置按要求生成虚拟盘所须的命令;
    shellexecute(handle,'open',pchar('command.com'),pchar(st),nil,sw_hide);       //uses中加入shellapi.调用dos命令;
    end;
      

  3.   

    我的习惯是,定义全局变量M_Path
    M_Path:=ExtractFilePath(ParamStr(0));  //文件所在的路径
    帮助文件=M_Path+'help.hlp'
    因为很多地方用到文件所在的路径,所以我定义全局变量。
    如果你的程序里用的不多,自己看着办吧。