神马情况?为啥循环数次后对象由nil变成Inaccessible了?

zhongguofr 2012-10-15 04:48:35
我的程序中有一部分代码实现接收网络数据并生成文件的功能。其中,根据数据包的头确定是否在本地创建文件,用的var f:filestream;如果文件接收完毕则f.free;f:=nil。但最近遇到一个问题,程序有时报错,加断点调试中发现,开始时f为nil,循环数次后(没有执行和f有关的代码),鼠标放在f上发现f由nil变成Inaccessible了,这是怎么回事?没有涉及对f的操作,f怎么会自己变呢?我用的delphi7~
...全文
130 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhongguofr 2012-12-24
  • 打赏
  • 举报
回复
问题解决了,是代码中数组访问和赋值超过了数组定义的大小~
cfvmario 2012-10-19
  • 打赏
  • 举报
回复
调试的时候最好在project options里关掉optimization吧。
有时优化会导致某些变量暂时在调试程序看来不可见
hsfzxjy 2012-10-15
  • 打赏
  • 举报
回复
你是不是在单步跟踪时,由该对象所在的代码段跳转到另一个代码段中了?这是正常的,因为另一个代码段中并没有定义这个变量啊。。所以问题不在这里,你最好把代码贴上来

16,749

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 语言基础/算法/系统设计
社区管理员
  • 语言基础/算法/系统设计社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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