大家好,情况是这样的,我在一个窗口的create时候想动态加载一个图片,使用了这样的代码:Image1.Picture.LoadFromFile('pic\L1.jpg');这样在程序一启动的时候是可以的,但是如果我程序之中还有其他的例如DirectoryListBox1的控件导出文件的时候再回到这个窗口进入时加载图片就错误啊,那个路径默认变成了刚才我选择DirectoryListBox1的这个路径啊,而不是原来程序里面的路径,不知这个问题怎样解决好呢?谢谢

解决方案 »

  1.   

    使用绝对路径,如果要取当前程序目录的路径可以使用ExtractFilePath(ParamStr(0))
      

  2.   

    Image1.Picture.LoadFromFile(ExtractFilePath(application.ExeName)+'\pic\L1.jpg'); 
      

  3.   

    通过执行程序路径,取得绝对路径
    当前程序路径
    Application.ExeName

    ParamStr(0)
      

  4.   

    老大们都喜欢来抢小弟们的分数,哈,答案都在楼上了
    或者使用
    Image1.Picture.LoadFromFile(Application.exeName+'\..\pic\L1.jpg'); 
    这样也可以
      

  5.   

    ExtractFilePath(ParamStr(0))加上程序所在路径就不会出错了。
      

  6.   

    您好!我也遇到图片加载方面的问题。
    要用绝对路径;
    如果图片在应用程序目录下,代码:
     image1.picture.loadfromfile(extractfilepath(application.exename)+'\pic\'+'L1.jpg');
    如果图片在其他目录,如c盘,代码:
     image1.picture.loadfromfile('c:\pic\'+'L1.jpg');