出现list index out of bounds(0)?

出现list index out of bounds(0)? Delphi / Windows SDK/API
http://www.delphi2007.net/DelphiNetwork/html/delphi_200612312048352.html
运用Socket编写了一个客户端,不过只能连上和接收服务器的信息,不知道为何不能发送信息,而且在退出时出现这个错误list   index   out   of   bounds(0),究竟该怎么改啊?查了很多资料都不知道该如何下手,请各位帮忙看看  
  unit   Client;  
   
  interface  
   
  uses  
      Windows,   Messages,   SysUtils,   Variants,   Classes,   Graphics,   Controls,   Forms,  
      Dialogs,   ScktComp,   StdCtrls,   ComCtrls,   Menus;  
   
  type  
      TfrmClient   =   class(TForm)  
          MainMenu1:   TMainMenu;  
          Cennect:   TMenuItem;  
          DisConnect:   TMenuItem;  
          About:   TMenuItem;  
          Exit:   TMenuItem;  
          SSent:   TMemo;  
          CSent:   TMemo;  
          btSent:   TButton;  
          StatusBar:   TStatusBar;  
          SesInfor:   TGroupBox;  
          Label1:   TLabel;  
          edIP:   TEdit;  
          Label2:   TLabel;  
          EdPort:   TEdit;  
          ClientSocket:   TClientSocket;  
          procedure   CennectClick(Sender:   TObject);  
          procedure   ClientSocketConnect(Sender:   TObject;  
              Socket:   TCustomWinSocket);  
          procedure   CSentKeyDown(Sender:   TObject;   var   Key:   Word;  
              Shift:   TShiftState);  
          procedure   ClientSocketRead(Sender:   TObject;   Socket:   TCustomWinSocket);  
          procedure   ClientSocketDisconnect(Sender:   TObject;  
              Socket:   TCustomWinSocket);  
          procedure   btSentClick(Sender:   TObject);  
          procedure   AboutClick(Sender:   TObject);  
          procedure   ExitClick(Sender:   TObject);  
      private  
          {   Private   declarations   }  
      public  
          {   Public   declarations   }  
      end;  
   
  var  
      frmClient:   TfrmClient;  
      ServerSocket:TServerSocket;  
   
  implementation  
  uses   unit2;  
   
  {$R   *.dfm}  
   
  //激活客户端  
  procedure   TfrmClient.CennectClick(Sender:   TObject);  
  begin  
      ClientSocket.Address:=edIP.Text;       //设定IP  
      ClientSocket.Port:=StrToInt(edPort.Text);     //设定端口  
      ClientSocket.Active:=true;  
  end;  
   
  //建立连接  
  procedure   TfrmClient.ClientSocketConnect(Sender:   TObject;  
      Socket:   TCustomWinSocket);  
  begin  
      Statusbar.Panels.Items[0].Text:='成功连接到服务器'+ServerSocket.Name;  
  end;  
   
  //在对话框按回车发送信息  
  procedure   TfrmClient.CSentKeyDown(Sender:   TObject;   var   Key:   Word;  
      Shift:   TShiftState);  
  begin  
      ClientSocket.Socket.SendText(CSent.Lines[CSent.Lines.Count   ]);  
  end;  
  //按发送按钮发送信息  
  procedure   TfrmClient.btSentClick(Sender:   TObject);  
  begin  
      ClientSocket.Socket.SendText(CSent.Lines[CSent.Lines.Count   ]);  
  end;  
   
  //获取服务器的信息以及显示客户端本身发送的信息  
  procedure   TfrmClient.ClientSocketRead(Sender:   TObject;  
      Socket:   TCustomWinSocket);  
  begin  
      SSent.Lines.Add(Socket.ReceiveText);  
  end;  
   
  //断开连接  
  procedure   TfrmClient.ClientSocketDisconnect(Sender:   TObject;  
      Socket:   TCustomWinSocket);  
  begin  
      ClientSocket.Active:=false;  
      Statusbar.Panels.Items[0].Text:='关闭与服务器的连接';  
      CSent.Lines.Clear;  
  end;  
   
   
  //获取软件信息  
  procedure   TfrmClient.AboutClick(Sender:   TObject);  
  begin  
      Form2.Show;    
  end;  
   
  //退出程序  
  procedure   TfrmClient.ExitClick(Sender:   TObject);  
  begin  
      if   ClientSocket.Active   then  
            ClientSocket.Close;  
      frmClient.Close;  
  end;  
   
  end.  
 

(CSent.Lines[CSent.Lines.Count   -   1]);  
 

//按发送按钮发送信息  
  procedure   TfrmClient.btSentClick(Sender:   TObject);  
  begin  
      ClientSocket.Socket.SendText(CSent.Lines[CSent.Lines.Count-1   ]);  
  end;  
   
 

这个错误一般都是操作越界,你以后只要检测一些数组类型之类,或者指针的东西,就行了  
  就如上面2位说的,index是从0开始的,所以你要记得-1就可以了

转载于:https://www.cnblogs.com/delphi2007/archive/2008/08/19/1271272.html

运行地址,链接地址,加载地址,存储地址 位置无关码、位置有关码 搞ARM开发时,在连接目标代码会提到运行地址和加载地址。这两者有什么区别呢?其次,网上也有说链接地址和存储地址,那么这四个地址之间有什么区别? 1、运行地址链接地址:他们两个是等价的,只是两种不同的说法。 2、加载地址存储地址:他们两个是等价的,也是两种不同的说法。   运行地址:程序在SRAM、SDRAM中执行时的地址。就是执行这条指令时,PC应该等于这个地址,换句话说,PC等于这个地址 阅读详情

相关推荐

python运行apriori算法过程中出现了下标越界的问题,具体报错为(IndexError: list index out of range)求大神指正,不胜感激!

关联规则apriori算法实现过程的问题,求解大神(调试了n天未解决)python运行apriori算法过程中出现了下标越界的问题,具体报错为(IndexError: list index out of range) python运行apriori算法过程中出现了下标越界的问题,具体报错为(IndexError: list index out of range) 算法运行过程中出现了下标越界的问题...

weixin_44971309的博客 1316

List index out of bounds(-1)错误解决办法

解决办件运行弹出List index out of bounds错误.

[论文笔记] megatron报错 BlendedDataset blend goes out of bounds for list 34 for valid split(index error)

由于pai新版对于index的代码有改动,所以需要重新tokenize。

心宝的博客 437

exception java.lang.IndexOutOfBoundsException: Index: 0, Size: 0

1.情景展示   Java 报错信息如下:   java.lang.IndexOutOfBoundsException: Index: 0, Size: 0 2.原因分析   首先,这是越界异常,但不是数组越界异常。   数组越界的信息如下:   java.lang.ArrayIndexOutOfBoundsException   一直以为,它俩是同样的异常...

weixin_30724853的博客 1385

关于List index out of bounds(0)的问题

关于List index out of bounds(0)的问题 Delphi / Windows SDK/APIhttp://www.delphi2007.net/DelphiDB/html/delphi_20061223203333140.html 运行输入数据按确定按钮后,弹出对话框说List index out of bounds(0),为什么会有这样的错误呢...

aibi9196的博客 4504

python报错】成功解决 IndexError: list index out of range

是一个常见的 Python 错误,通常是因为索引超出了列表的有效范围。在访问列表元素之前,检查列表的长度。处理空列表时,添加相应的检查逻辑。使用异常处理机制来捕获和处理索引越界的情况。仔细调试代码逻辑,确保索引的使用正确。检查外部数据源的完整性和正确性。希望这篇文章能够帮助你更好地理解和解决问题。如果你在编程过程中遇到其他问题,欢迎在评论区留言讨论。

qq_38614074的博客 1503

list index out of bounds_List接口及经常用的实现类

List接口及经常用的实现类所有超级接口: Collection<E>, Iterable<E> 所有已知实现类: AbstractList, AbstractSequentialList, ArrayList, AttributeList, CopyOnWriteArrayList, LinkedList, RoleList, RoleUnresolvedList, St...

weixin_39942726的博客 888

list index out of bounds_数组链表和List部分理解总结

数组访问快的原因:数组在内存中的空间是连续的,因而可以直接通过数组的首地址 计算出 需要访问的位置,直接拿到元素或对象引用链表 增删快原因:这是相较于数组而言的,对于数组而言,元素的新增 删除 可能会伴随后面的元素向前移动的问题,而数组上的位置移动,是需要一个个复制过去。而链表的新增删除,在不考虑元素定位的情况下,只需要修改最多三个节点(包含元素本身)的引用指向而已。链表随机访问慢的原因:相较于数...

weixin_39946798的博客 3527

NoteExpress在office word 64位报错:List index out of bounds

软件及型号:NoteExpress3.2.0.7222(集团版) 情况描述: 在office word 2016 64位版本上,第一次插入引文没问题,第二次就报“List index out of bounds”的错误。 解决方法:几经折腾,后重装32位版的office,我装的office2019的32位,最后完美运行。 现在的我i对32位的应用软件有一种莫名的好感。 另外在论坛里面看到...

bingo_6的博客 8253

Python】成功解决IndexError: index 1256 is out of bounds for axis 0 with size 629

🔥【Python】解决IndexError,告别索引越界烦恼!🔥 🔍遭遇`IndexError: index 1256 is out of bounds for axis 0 with size 629`?别慌,本文助你轻松解决! 🤔深入剖析错误原因,让你明白根源所在。 🔎教你如何快速定位错误源头,不再迷失在代码中。 🛠️提供实用修复方法,让你的代码重新焕发活力! 💡举一反三,分享避免类似错误的技巧,让你编程更轻松。 📚更有Python序列操作和错误处理深入学习指南,助你成为编程

创作高质量博文,分享知识,共同进步! 5692

【已解决】IndexError_ list index out of range 列表索引越界 全套根治方案

本质不是BUG,是代码逻辑未适配列表真实长度。新手报错多是索引规则不熟悉、循环写法不规范;老手报错基本是动态数据缺失、未做容错处理。减少索引使用 + 动态适配长度 + 数据前置校验 + 异常兜底。按照本文的规范写法和兜底方案,可彻底解决所有列表索引越界问题,保证代码稳定运行。(注:部分内容可能由 AI 生成)

姜的blog 250

list index out of bounds_python3基础03列表(list)和元组(tuple)

"pythonic生物人"的第35篇分享。原创不易,点个“赞“或"在看"鼓励下呗!摘要本文梳理python序列容器中的列表和元组数据结构的基础知识。目录1、列表(list)列表特点列表创建列表操作相加(+)相乘(*)索引(index)切片列表元素修改成员资格列表推导式列表方法appendclearcopycountextendindexinseretpopremovereverserev...

weixin_39622988的博客 378

java.lang.IndexOutOfBoundsException: Index 0 out of bounds for length 0

报错原因: 使用list.get(0)获取对象,但是list是空的,导致报错 解决办法: 优化处理一下代码即可 如:设置三元运算法,先判断集合是否为空,再获取值

foryai的博客 4048

从‘1256 out of bounds for size 629’这个具体报错,聊聊Python迭代器、生成器与内存的那些事儿

本文深入解析Python中常见的‘1256 out of bounds for size 629’索引越界错误,探讨迭代器、生成器与内存管理的交互机制。通过实际代码示例,揭示NumPy、Pandas等库中的特殊索引行为,并提供调试复杂索引错误的实用技巧,帮助开发者优化内存使用并提升代码安全性。

红太阳照大地 342

python indexerror out of bound_转 Python-IndexError: list index out of range

https://www.cnblogs.com/2bjiujiu/p/9063864.htmlError:IndexError: list index out of rangeWhere?对Python中有序序列进行按索引取值的时候,出现这个异常Why?对于有序序列: 字符串 str 、列表 list 、元组 tuple进行按索引取值的时候,默认范围为 0 ~ len(有序序列)-1,计数从0开始...

weixin_39945792的博客 276
上一篇: 在ActiveX中使用URLDownLoadToFile函数中的参数问题
下一篇: 获取ftp文件的日期
aibi9196
博客等级 码龄10年 3粉丝 283原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值