下面代码,运行后,显示list index out of bounds(0),不懂什么意思。运行后,还有很多问题。。请大家帮帮忙啊
unit Unit1;interfaceuses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, Menus, StdCtrls, ImgList, ExtCtrls, ComCtrls, OleCtrls, SHDocVw,
  ToolWin,ShellApi;type
  TForm1 = class(TForm)
    Panel1: TPanel;
    ImageList1: TImageList;
    URLS: TComboBox;
    Label1: TLabel;
    MainMenu1: TMainMenu;
    N1: TMenuItem;
    N2: TMenuItem;
    N3: TMenuItem;
    N4: TMenuItem;
    N5: TMenuItem;
    N6: TMenuItem;
    N7: TMenuItem;
    N8: TMenuItem;
    N9: TMenuItem;
    N10: TMenuItem;
    N11: TMenuItem;
    N12: TMenuItem;
    N13: TMenuItem;
    N14: TMenuItem;
    N15: TMenuItem;
    N16: TMenuItem;
    N17: TMenuItem;
    N18: TMenuItem;
    N19: TMenuItem;
    N20: TMenuItem;
    N21: TMenuItem;
    N22: TMenuItem;
    N23: TMenuItem;
    N24: TMenuItem;
    N25: TMenuItem;
    N26: TMenuItem;
    Internet1: TMenuItem;
    N27: TMenuItem;
    N28: TMenuItem;
    N29: TMenuItem;
    ToolBar1: TToolBar;
    ToolButton1: TToolButton;
    ToolButton2: TToolButton;
    ToolButton3: TToolButton;
    ToolButton4: TToolButton;
    ToolButton5: TToolButton;
    ToolButton6: TToolButton;
    OpenDialog1: TOpenDialog;
    WebBrowser1: TWebBrowser;
    StatusBar1: TStatusBar;
    procedure FormCreate(Sender: TObject);
    procedure URLSKeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure URLSSelect(Sender: TObject);
    procedure WebBrowser1NavigateComplete2(Sender: TObject;
      const pDisp: IDispatch; var URL: OleVariant);
    procedure ToolButton3Click(Sender: TObject);
    procedure ToolButton1Click(Sender: TObject);
    procedure ToolButton4Click(Sender: TObject);
    procedure ToolButton5Click(Sender: TObject);
    procedure ToolButton6Click(Sender: TObject);
    procedure ToolButton2Click(Sender: TObject);
    procedure N2Click(Sender: TObject);
    procedure N3Click(Sender: TObject);
    procedure N4Click(Sender: TObject);
    procedure N6Click(Sender: TObject);
    procedure N7Click(Sender: TObject);
    procedure N9Click(Sender: TObject);
    procedure N12Click(Sender: TObject);
    procedure N10Click(Sender: TObject);
    procedure N14Click(Sender: TObject);
    procedure N16Click(Sender: TObject);
    procedure N17Click(Sender: TObject);
    procedure N18Click(Sender: TObject);
    procedure N20Click(Sender: TObject);
    procedure N21Click(Sender: TObject);
    procedure N22Click(Sender: TObject);
    procedure N23Click(Sender: TObject);
    procedure N25Click(Sender: TObject);
    procedure N26Click(Sender: TObject);
    procedure Internet1Click(Sender: TObject);
    procedure N28Click(Sender: TObject);
    procedure N29Click(Sender: TObject);
  private
    { Private declarations }
  public
  { public declarations }
          SysDir: array[0..256] of char;
  end;var
  Form1: TForm1;
implementation{$R *.dfm}procedure TForm1.FormCreate(Sender: TObject);begin
     //获得系统目录
     GetSystemDirectory(SysDir,Sizeof(SysDir)-1);
    //程序启动时浏览c:\下的所有文件、目录
     Webbrowser1.Navigate('c:\');
end;procedure TForm1.URLSKeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
    //判断key键是否为回车键
    if Key=VK_Return  then
    begin Webbrowser1.Navigate(URLs.Text);
    //添加历史记录
    URLs.Items.Add(URLs.Text)
    end;
end;procedure TForm1.URLSSelect(Sender: TObject);
begin
    Webbrowser1.Navigate(URLs.Text);
end;procedure TForm1.WebBrowser1NavigateComplete2(Sender: TObject;
  const pDisp: IDispatch; var URL: OleVariant);
begin
 URLs.text :=Webbrowser1.LocationURL;
 StatusBar1.panels.Items[0].text :=Webbrowser1.LocationURL;
 end;procedure TForm1.ToolButton3Click(Sender: TObject);
begin
    try
    webbrowser1.GoBack;
    except
    exit;
    end;
end;procedure TForm1.ToolButton1Click(Sender: TObject);
begin
   try
   webbrowser1.goforward;
   except
   exit;
   end;
end;procedure TForm1.ToolButton4Click(Sender: TObject);
begin
   webbrowser1.stop;
end;procedure TForm1.ToolButton5Click(Sender: TObject);
begin
   webbrowser1.refresh;
end;procedure TForm1.ToolButton6Click(Sender: TObject);
begin
   webbrowser1.gohome;
end;procedure TForm1.ToolButton2Click(Sender: TObject);
begin
  Webbrowser1.GoSearch;
end;procedure TForm1.N2Click(Sender: TObject);
begin
 if OpenDialog1.Execute then begin
 if OpenDialog1.FileName<>'' then
 webbrowser1.Navigate(OpenDialog1.FileName)
 else
 exit;
 end;
end;procedure TForm1.N3Click(Sender: TObject);
begin
 try
   webbrowser1.ExecWB(OLECMDID_SAVE,OLECMDEXECOPT_DODEFAULT);
 except
   exit;
 end;
end;procedure TForm1.N4Click(Sender: TObject);
begin
 try
   webbrowser1.ExecWB(OLECMDID_SAVE,OLECMDEXECOPT_DONTPROMPTUSER);
 except
   exit;
 end;
end;procedure TForm1.N6Click(Sender: TObject);
begin
 try
   webbrowser1.ExecWB(OLECMDID_PAGESETUP,OLECMDEXECOPT_DONTPROMPTUSER);
 except
   exit;
 end;
end;
procedure TForm1.N7Click(Sender: TObject);
begin
  try
  webbrowser1.ExecWB(OLECMDID_PRINT,OLECMDEXECOPT_DONTPROMPTUSER);
  except
      exit;
  end;
end;procedure TForm1.N9Click(Sender: TObject);
begin
if FileExists(SysDir+'\MBSYNC.EXE')then
ShellExecute(Handle,'open',pchar(SysDir+'\MBSYNC.EXE'),nil,nil,sw_SHOWnormal)
else
showmessage('没有发现'+SysDir+'\MOBSYNC.EXE');
end;procedure TForm1.N12Click(Sender: TObject);
begin
       close;
end;procedure TForm1.N10Click(Sender: TObject);
begin
 if N10.Checked =true then begin
 n10.Checked :=false;
 webbrowser1.Offline :=false;
 end
 else
 begin
 n10.Checked :=true ;
 webbrowser1.Offline := true;
 end;
end;procedure TForm1.N14Click(Sender: TObject);
begin
    try
   webbrowser1.ExecWB(OLECMDID_undo,OLECMDEXECOPT_DONTPROMPTUSER);
 except
   exit;
end;
end;procedure TForm1.N16Click(Sender: TObject);
begin
try
   webbrowser1.ExecWB(OLECMDID_cut,OLECMDEXECOPT_DONTPROMPTUSER);
 except
   exit;
end;
end;procedure TForm1.N17Click(Sender: TObject);
begin
try
   webbrowser1.ExecWB(OLECMDID_copy,OLECMDEXECOPT_DONTPROMPTUSER);
 except
   exit;
end;
end;procedure TForm1.N18Click(Sender: TObject);
begin
  try
   webbrowser1.ExecWB(OLECMDID_paste,OLECMDEXECOPT_DONTPROMPTUSER);
 except
   exit;
end;
end;procedure TForm1.N20Click(Sender: TObject);
begin
try
   webbrowser1.ExecWB(OLECMDID_delete,OLECMDEXECOPT_DONTPROMPTUSER);
 except
   exit;
end;
end;procedure TForm1.N21Click(Sender: TObject);
begin
try
   webbrowser1.ExecWB(OLECMDID_selectall,OLECMDEXECOPT_DONTPROMPTUSER);
 except
   exit;
end;
end;procedure TForm1.N22Click(Sender: TObject);
begin
try
   webbrowser1.ExecWB(OLECMDID_find,OLECMDEXECOPT_PROMPTUSER);
 except
   exit;
end;
end;procedure TForm1.N23Click(Sender: TObject);
begin   webbrowser1.Navigate('nailto:')
end;procedure TForm1.N25Click(Sender: TObject);
begin
if URLS.Text <>''then
webbrowser1.Navigate('view-source:'+URLS.Text );
end;procedure TForm1.N26Click(Sender: TObject);
begin
try
   webbrowser1.ExecWB(OLECMDID_PROPERTIES,OLECMDEXECOPT_PROMPTUSER);
 except
   exit;
end;
end;procedure TForm1.Internet1Click(Sender: TObject);
begin
if fileExists(SysDir+'\INETCPL.CPL')then
shellexecute(handle,'open',pchar('control.exe'),pchar(SysDir+'\ INETCPL.CPL'),nil,sw_shownormal)
else
showmessage('没有发现'+SysDir+'\INETCPL.CPL');
end;procedure TForm1.N28Click(Sender: TObject);
begin
 shellabout(handle,'浏览器--1.0版',
 #13+'浏览器--1.0测试版 版权所有(c) 1999-2002 vision.'+
 #13+'欢饮使用!',0);
end;procedure TForm1.N29Click(Sender: TObject);
begin
showmessage('读者可根据需要自行填写!'+#13+'方法:读本书、用鼠标。'+#13);
end;end.