CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
可用分押宝游戏火热进行中... 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  C++ Builder >  VCL组件使用和开发

请教高手,这是怎么回事?能帮我看一下程序吗?

楼主zcm242004(抽象的爱)2004-08-03 21:12:31 在 C++ Builder / VCL组件使用和开发 提问

TTreeNode   *selnode,*node;  
  AnsiString   seltext;  
  selnode   =   TreeView1->Selected;  
  if   (selnode->Parent->Parent   !=   NULL)  
  {  
  ::MessageBox(Handle,"¶Ô²»Æð£¬¸Ã½ÚµãÒѾ­´¦ÓÚ\nÊ÷µÄ×îµ×²ã£¬Äú²»ÄÜ\nÔÙΪÆäÔö¼Ó×Ó½ÚµãÁË",  
  "¾¯¸æ",MB_OK   +   MB_ICONWARNING);  
  return;  
  }  
  else  
  {  
  if   (selnode->HasChildren)  
  {  
  seltext   =   selnode->getFirstChild()->Text.Trim();  
  }  
  else  
  {  
  if   (selnode->Parent   !=   NULL)  
  seltext   =   "Ö÷¿ØÆ÷1";  
  else  
  seltext   =   selnode->getPrevSibling()->getFirstChild()->Text.Trim();  
  }  
  node   =   TreeView1->Items->AddChild(selnode,seltext);  
  }  
  selnode->Selected   =   false;  
  node->EditText();  
  每次运行时,总是报错,说访问内存出错,这是怎么回事? 问题点数:0、回复次数:4Top

1 楼thp(老滕)回复于 2004-08-04 08:55:07 得分 0

if   (selnode->Parent->Parent   !=   NULL)  
  应该是上面这行代码了,应首先判断selnode->Parent   !=   NULL,要不然如果selnode->Parent为NULL的话,NULL->Parent肯定非法。Top

2 楼CCED136(夜林箭)回复于 2004-08-04 09:21:16 得分 0

呵呵,这句:  
   
  selnode   =   TreeView1->Selected;     //重点  
   
  if   (selnode->Parent->Parent   !=   NULL)  
   
  楼主怎么能够肯定当前   TreeView   中一定有节点被选中呢???  
   
  应该加上:  
   
  if(   TreeView1->Selected   ==   NULL)  
  {  
              return;  
  }  
   
  selnode   =   TreeView1->Selected;     //重点  
  if   (selnode->Parent->Parent   !=   NULL)  
  ....  
  Top

3 楼CCED136(夜林箭)回复于 2004-08-04 09:23:14 得分 0

规律:  
   
  访问对象的属性和方法前,应该先判断对象本身是否合法有效。Top

4 楼myy()回复于 2004-08-04 09:42:41 得分 0

还有  
  if   (selnode->HasChildren)  
  {  
      seltext   =   selnode->getFirstChild()->Text.Trim();  
  }  
   
  也不严谨,HasChildren是可以赋值的,==true也不见得有Children哦。  
   
  if   (NULL!=selnode->getFirstChild())  
  {  
      seltext   =   selnode->getFirstChild()->Text.Trim();  
  }  
  Top

相关问题

  • 大家帮我看一下,下面的asp程序,是怎么回事,
  • 请大家帮看一下这是怎么回事啊!!??
  • 请大家帮忙看一下是怎么回事?
  • 帮忙看一下这个错误怎么回事?
  • 大家看一下~这个程序是怎么回事!详情请进来看!
  • 请帮我看一下下面的程序,为什么每次运行后总是显示“Null pointer assignment”,这是怎么回事?请说的详细一点。
  • 请问使用DELPHI编写的程序在启动时报系统错误,提示如下:是怎么回事,大家帮忙看一下。
  • 我在执行ExecuteNonQuery()的时候总是出错,是怎么回事啊?谁能帮我看一下程序,多谢了。
  • 很怪的一件事,不知道怎么回事,大家帮忙看一下
  • 十万火急:帮忙看一下,Invalid argument supplied for foreach()怎么回事

关键词

  • null
  • selnode
  • seltext
  • getfirstchild
  • parent
  • treeview1
  • haschildren
  • frac
  • aelig
  • trim

得分解答快速导航

  • 帖主:zcm242004

相关链接

  • CSDN Blog
  • 技术文档
  • 代码下载
  • 第二书店
  • 读书频道

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
世纪乐知(北京)网络技术有限公司 版权所有, 京 ICP 证 020026 号
北京创新乐知广告有限公司 提供技术支持
Copyright © 2000-2007, CSDN.NET, All Rights Reserved
GongshangLogo