你没有往一个StringList中加过记录,或者已经删除了,但却引用了(StringList[0])。你应该在引用之前检查StringList.Count>0不一定是StringList,只是类似的问题(如TList, TListBox, TComboBox)

解决方案 »

  1.   

    部分代码procedure TChatForm.FormCreate(Sender: TObject);
    begin
      //触发filelistenitemclick,并传递nil的参数
      filelistenitemclick(nil);
    end;procedure TChatForm.SpeedButton1Click(Sender: TObject);
    begin
      if clientsocket.active then clientsocket.active:=false;
      if inputquery('Computer To Connect To','Address Name:',server) then
        if length(server)>0 then
          with clientsocket do
          begin
            host:=server;
            active:=true;
            filelistenitem.checked:=false;
          end;
    end;procedure TChatForm.ClientSocketConnect(Sender: TObject;
      Socket: TCustomWinSocket);
    begin
      statusbar1.Panels[0].text:='Connected To: '+socket.RemoteHost;
    end;procedure TChatForm.ClientSocketDisconnect(Sender: TObject;
      Socket: TCustomWinSocket);
    begin
      filelistenitemclick(nil);
    end;procedure TChatForm.ClientSocketError(Sender: TObject;
      Socket: TCustomWinSocket; ErrorEvent: TErrorEvent;
      var ErrorCode: Integer);
    begin
      memo2.lines.add('Error connecting to: '+server);
      errorcode:=0;
    end;procedure TChatForm.ClientSocketRead(Sender: TObject;
      Socket: TCustomWinSocket);
    begin
      memo2.lines.add(socket.receivetext);
    end;procedure TChatForm.ServerSocketAccept(Sender: TObject;
      Socket: TCustomWinSocket);
    begin
      isserver:=true;
      statusbar1.panels[0].text:='Connected to: '+socket.remoteaddress;
    end;procedure TChatForm.ServerSocketClientConnect(Sender: TObject;
      Socket: TCustomWinSocket);
    begin
      memo2.lines.clear;
    end;procedure TChatForm.ServerSocketClientDisconnect(Sender: TObject;
      Socket: TCustomWinSocket);
    begin
      statusbar1.panels[0].text:='Listening...';
    end;
    请帮我找出原因,谢谢大家
      

  2.   

    异常发生时断点出现在哪一行?statusbar1.panels[0].text :=你给statusbar1.panels加了多栏了吗?(双击statusbar1可以增加),如果你只想用一栏,用statusbar1.simpletext代替statusbar1.panels[0].text