高手指教啊:list index out of bounds(1)!

0574311 2004-09-05 08:54:57
procedure TFrmMain.FormCreate(Sender: TObject);
var
NewColumn: TListColumn;
begin
FDmbook:=TDMBook.Create(self);
RefreshExecute(nil);
with ListView1 do //运行到这里出错!
begin
clear;
SmallImages := imgSmall;
LargeImages := imgbig;
NewColumn := Columns.Add;
NewColumn.Caption :='书名';
NewColumn.Width:=280;
NewColumn := Columns.Add;
NewColumn.Caption :='译著者';
NewColumn.Width:=80;
NewColumn := Columns.Add;
NewColumn.Caption :='出版社';
NewColumn.Width:=100;
NewColumn := Columns.Add;
NewColumn.Caption :='出版时间';
NewColumn.Width:=80;
end;
end;
...全文
170 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
shitianj 2004-09-06
  • 打赏
  • 举报
回复
在循环中变量或STRINGS变量或其它类数组变量越界出错
这种错误在编程中比较常见
一般解决方法是:在出现错误的前面几行代码中设断点,使用F7跳入循环体内进行单步执行。注意在单步调试时查看哪些变量在使用时越界了
jijl2001 2004-09-06
  • 打赏
  • 举报
回复
越界,你设断点
KevinXXXX 2004-09-06
  • 打赏
  • 举报
回复
应该是Columns的索引越界了,查一下你的添加代码
drift1981 2004-09-06
  • 打赏
  • 举报
回复
on show中写创建
再加上TDMBook.parent :=self
maxtool 2004-09-06
  • 打赏
  • 举报
回复
同意楼上几位的意见
lh9823 2004-09-06
  • 打赏
  • 举报
回复
Create中比较适合对一些变量或对象实例做初始化,对窗体界面的控制及操作最好不要放在Create事件中
deayouyoung 2004-09-06
  • 打赏
  • 举报
回复
listview的column程序中越界了,你检查控件上的和程序是否对应。
chinaliujacky 2004-09-06
  • 打赏
  • 举报
回复
是不是应该是RefreshExecute(False)呀?最好用单步看一下.
cowboy_blues 2004-09-05
  • 打赏
  • 举报
回复
Create时候窗体还没显示呢。
zhlwyy 2004-09-05
  • 打赏
  • 举报
回复
你的代码要写在onshow 事件里
因为你的本意是想在窗体显示时出现信息
对不对?
而如果你写在create事件里,窗体此时还没有创建
ztenv 2004-09-05
  • 打赏
  • 举报
回复
越界了,
wilowind 2004-09-05
  • 打赏
  • 举报
回复
RefreshExecute(nil);
错误在这里面, 检查一下
ly_liuyang 2004-09-05
  • 打赏
  • 举报
回复
OnSHow内使用看看

5,387

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧