CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
山寨机中的战斗机! 程序优化工程师到底对IT界有没有贡献
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  C++ Builder >  基础类

我晕,在运行过程中出现错误(未定义变量)!

楼主rab2002cn()2003-01-07 00:12:57 在 C++ Builder / 基础类 提问

在程序中构建了一个类,有public类型的变量   TMemoryStream*   mp_tofile;  
  程序运行过程中出现错误,提示:  
  Project   Project1.exe   exception   class   EAccessViolation   with   message   'Accedss   violation   at   address   00402240.   Read   of   address   00000010'.   Process   stopped.   Use   Step   or   Run   to   continue.  
   
  调试定位至     mp_tofile->Seek(0,soFromEnd);   语句,执行它即产生异常。未执行时,通过   Watches   窗口检查mp_tofile->Size;   窗口中显示,  
  Function   call   terminated   by   unhandled   exception   0xc0000005。。。  
  点击Run按钮,Watches   窗口检查mp_tofile->Size;   窗口中显示,  
  Undefined   mp_tofile,   我晕!  
   
  而且,有时出现此错误,有时不出现!各位大侠,请出招!谢谢!  
  问题点数:100、回复次数:11Top

1 楼redwrite(红妆素裹)回复于 2003-01-07 00:21:13 得分 10

顶一下先Top

2 楼kingfish(工作很忙,很少来csdn...)回复于 2003-01-07 00:46:49 得分 10

有没有   new?Top

3 楼yyfzy(singler)回复于 2003-01-07 08:01:53 得分 10

我估计是没有调用有关TMemoryStream的.h文件或者是.hpp文件Top

4 楼ouygg(痞子酷)回复于 2003-01-07 08:34:33 得分 10

TMemoryStream*   mp_tofile=new   TMemoryStream;  
          delete   mp_tofile;  
  没有new,不需要添加头文件,因为calss.hpp包含啦他。Top

5 楼mustang_zr()回复于 2003-01-07 08:41:34 得分 10

同意楼上  
  看了你的错误信息,估计是没有new吧,mp_tofile不知道指到什么地方去了  
  所以会出错。Top

6 楼yuliwe(阿雪)回复于 2003-01-07 09:48:21 得分 10

我也常遇到此类错误,就是将头文件两头包含就好了Top

7 楼LanceX(小军)回复于 2003-01-08 14:01:34 得分 20

同意   ouygg(痞子酷)。另外有个好习惯是,类构造函数中和删除mp_tofile后,将其指针指向NULL;  
  class   A  
  {  
  public:  
          TMemoryStream   *   mp_tofile;  
          A(){  
                  mp_tofile=NULL;  
          }  
  };  
  TMemoryStream*   mp_tofile=new   TMemoryStream;  
  if   (mp_tofile){  
          delete   mp_tofile;  
          mp_tofile=NULL;  
  }  
  Good   Luck!Top

8 楼rab2002cn()回复于 2003-01-08 19:27:22 得分 0

谢谢大家,我试试先!Top

9 楼rab2002cn()回复于 2003-01-09 23:52:32 得分 0

充分尊重大家意见,但还是不行。为什么呢?  
  那位大侠再教我几招?谢谢!Top

10 楼RomanticProgrammer() 兰企鹅||南极俺最帅 ()回复于 2003-01-09 23:59:10 得分 20

把你的mp_tofile创建的部分代码贴出来,你贴的这部分没有用...Top

11 楼rab2002cn()回复于 2003-01-11 20:49:40 得分 0

再次谢谢大家  
   
  现在我解决了这个问题,但解决的莫名其妙:  
  将封装mp_tofile的类取消了,将所有代码移植到Form的类中,其他的只是稍许改变以适应此变化,问题就没有了!!!希望这类问题以后不要出现。  
   
  也不知道这是不是Bug。明天结贴。Top

相关问题

  • 变量未定义?
  • 变量未定义:
  • GCC 怎么连未定义变量的错误都检查不出??!!!
  • [求助]错误 未定义
  • SOS:出现运行错误。是否纠正该错误?行:0 错误:'body'未定义。
  • 出现:变量未定义: 'adCMdStoredProc' 咋办?
  • js 文件中变量未定义
  • IE 运行期错误。。。。代码 47。。。'message' 未定义。。谁的问题?怎么解决?
  • 我用<a href="Javascript:History.go(-1);">back</a> 提示 :运行出现错误 ,history 未定义。怎么办?
  • 未定义入口点,编译错误

关键词

  • 文件
  • null
  • tofile
  • tmemorystream
  • mp
  • 错误
  • 出现
  • 谢谢
  • 问题
  • 没有

得分解答快速导航

  • 帖主:rab2002cn
  • redwrite
  • kingfish
  • yyfzy
  • ouygg
  • mustang_zr
  • yuliwe
  • LanceX
  • RomanticProgrammer

相关链接

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

广告也精彩

反馈

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