帮忙看看!!!

yyf_321 2003-12-12 11:48:42
我在开头定义啦TTreeNodeEx
type
TTreeNodeEx=Class(TTreeNode)
public
levels:string;
ArticleClass:string;
end;

在这函数中用到TTreeNodeEx
procedure TfrmArticleManage.CreateTvWithData;
var
Items:array[0..25] of TTreeNodeEx;
Index:integer;
begin
TVArticle.Items.BeginUpdate;
TVArticle.Items.Clear;
try
Items[0]:=TTreeNodeEx(TVArticle.Items.Add(nil,'文章分类目录树'));
Items[0].ImageIndex:=2;
Items[0].SelectedIndex:=2;
with TVQuery do
begin
While Not Eof do
begin
Index:=Length(trim(FieldByName('MLCJ').AsString)) div 4;
Items[Index]:=TTreeNodeEx(TVArticle.Items.AddChild(Items[Index-1],FieldByName('MLMC').AsString));
//***********************现在下面两名出错:信息如下:
/*Access violation at address 0040421A in module 'article.exe'.Reader of address FFFFFFFA */
Items[Index].levels:=FieldByName('MLCJ').AsString;
Items[Index].ArticleClass:=FieldByName('WZLX').AsString;
//***********************
Items[Index].SelectedIndex:=4;
Items[Index].ImageIndex:=4;
Next;
Application.ProcessMessages;
end;
end;
finally
TVArticle.Items.GetFirstNode.Expand(false);
TVArticle.Items.EndUpdate;
end;
end;
...全文
28 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
dulei115 2003-12-12
  • 打赏
  • 举报
回复
掉了一点
p: PMyRecord;
yyf_321 2003-12-12
  • 打赏
  • 举报
回复
怎么写啊,刚学不懂啊,大家帮帮忙,我这是看YOUR BASE 2003 的,他是这样写的啊
dulei115 2003-12-12
  • 打赏
  • 举报
回复
楼主改一下吧,用下面的方法:
type
PMyRecord = ^MyRecord;
MyRecord = record
levels: string;
ArticleClass: string;
end;//end of record

Items:array[0..25] of TTreeNode

new(p);
p.levels := ...;
p.ArticleClass := ...;
Items[0] := TreeView1.Items.AddChildObject(Treeview1.Selected,...,p);
//dispose(p);//一定要去掉这条语句,不然的话,Treeview中的Data也被dispose掉了。


PMyRecord(Items[0].Data).levels
dulei115 2003-12-12
  • 打赏
  • 举报
回复
AddChild只能Create一个TTreeNode,不会New出levels:string;ArticleClass:string;的空间,所以在访问时会出错。
楼主应该重新编写相对于TTreeNodeEx的AddChild函数

lixiufu 2003-12-12
  • 打赏
  • 举报
回复
up
mingjianzeng2003 2003-12-12
  • 打赏
  • 举报
回复
学习!
dulei115 2003-12-12
  • 打赏
  • 举报
回复
PMyRecord(Items[0].Data).levels
这个是调用数据的方法,就像你原来的在后面可能用到的Items[0].levels
yyf_321 2003-12-12
  • 打赏
  • 举报
回复
dulei115() :
这句是什么意思,要不要的啊???
PMyRecord(Items[0].Data).levels

5,386

社区成员

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

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