你的FileListBox5里面肯定有记录吗?如果没有数据,那么ItemIndex是-1,会包错的

解决方案 »

  1.   

    应改为(因为listbox的项未选中时,itemindex返回-1):
    if filelistbox5.itemindex = -1 then
      Filenam := ''
    else
      filenam:=filelistbox5.items[filelistbox5.itemindex];
      

  2.   

    原因:
       你的 FileListBox5.ItemIndex 越界了
       值为-1,表示没有选中任何一条;
       所以出错。
    应当用
       FileName := FileListBox5.FileName;
      

  3.   

    直接用
       FileName 属性就行了,简单!