List index out of bounds(0)
昨天遇到了这么一个问题,网上也查看很多类似问题,但现在还不知道怎么解决,望高手指点一下。
我首先在主窗口上放置上一个类似PageControl的第三方控件用来打开多个标签网页;然后又在其中的一个标签页对应的窗口上又放置和上面一样的控件,在其中也用来打开多个标签,相当于一个标签页的嵌套。
出问题的是下面的第二行:(在主窗口一样的代码中没有出现问题,是在嵌入的其中的一个中出现的)。
Form4:=TForm4.Create(nil);
Form4.Parent:=Form3.RzPageControl1.Pages[index1];
Form4.Align:=alclient;
Form4.ManualDock(Form3.RzPageControl1.Pages[index1]);//将窗口融合
Form4.BorderStyle:=bsnone;
Form4.Show;
[解决办法]
List index out of bounds就是索引超出了list的范围
index1 超出了RzPageControl1.Pages的范围,LZ自己检查下index1 的值,还有RzPageControl1.Pages.count
[解决办法]
Form3.RzPageControl1.Pages[0] 你这个是空的啊. 没有创建吧?
if (index1 <0 ) or (index > RzPageControl1.Pages.count ) then exit
[解决办法]
跟踪调试,加上下面代码
Form4:=TForm4.Create(nil);//加上这一行,index1不能大于Form3.RzPageControl1的页数-1,不能小于0showmessage(inttosr(Form3.RzPageControl1.pagecount) + 'index:' + inttostr(index1)); Form4.Parent:=Form3.RzPageControl1.Pages[index1]; Form4.Align:=alclient; Form4.ManualDock(Form3.RzPageControl1.Pages[index1]);//将窗口融合 Form4.BorderStyle:=bsnone; Form4.Show;
[解决办法]