大家来帮看看这个错误提示是什么意思?我该怎么修改》?

BigAngell 2004-09-05 02:09:38
Project Fig2004.exe raised exception class EAccessViolation with message'Access violation at address 00569139 in module Fig2004.exe'.Read of address 0149913A'.Process stopped.Use Step or Run to continue.
我如是按F7、F8、F9的任何一个键都会出现提示:Runtime error 216 at 004414F9.

错误提示是在这种情况下出现的:我在MainForm.OnShow事件进行了某些条件判断,如果某个条件不满足,则MainForm.Close,然后系统会执行一些代码(好像是初始化某些对象?),接着就出现这个错误;但是如果所有条件都通过了,则正常运行程序,我试过再Close,却没有任何错误?
...全文
212 24 打赏 收藏 转发到动态 举报
写回复
用AI写文章
24 条回复
切换为时间正序
请发表友善的回复…
发表回复
zdq801104 2004-09-06
  • 打赏
  • 举报
回复
delphi本身问题就很多,烦的要死,可能本来就是DELPHI问题
pandengzhe 2004-09-06
  • 打赏
  • 举报
回复
慢慢调
Tensionli 2004-09-06
  • 打赏
  • 举报
回复
慢慢调试吧
shitianj 2004-09-06
  • 打赏
  • 举报
回复
一般原因是:在程序开运行时申请的资源在程序强制退出后没有得到释放
GoldShield 2004-09-06
  • 打赏
  • 举报
回复
退出时对程序所用的资源末做正确处理
asj 2004-09-06
  • 打赏
  • 举报
回复
基本上来说是你的内存管理混乱,可能是有些资源释放一次以后又再次释放或者使用。
内存错误和当时运行时的内存使用状况相关,所以不是每次都能重现,不同操作系统对内存的分配方式不同,所以出错的概率不同。你的代码需要好好整理,这种问题读代码比调试要快。
asj 2004-09-06
  • 打赏
  • 举报
回复
BigAngell(风雨英雄)
先不要管程序里的问题了,平心静气一下,作下深呼吸,散散步
你现在的状态很不适合写代码,现在一分钟写下的代码将来可能会浪费你一周的时间
BigAngell 2004-09-06
  • 打赏
  • 举报
回复
特别是改用Access数据库后,才出现这类的问题

Access让我受够了!
GoldShield 2004-09-06
  • 打赏
  • 举报
回复
主要是对数据库操作的部分.
很多对数据库有操作的程序都会出现这种情况.
BigAngell 2004-09-06
  • 打赏
  • 举报
回复

》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》

如何能实现释放本程序已占用的所有资源呢?

要占资源的太多了,一个一个的找好麻烦呀,管他三七十一,将所有占用的资源全释放了吧!
BigAngell 2004-09-06
  • 打赏
  • 举报
回复
代码贴出来?!好几千行耶,我也想,可惜这里不能上传文件!
ztenv 2004-09-06
  • 打赏
  • 举报
回复
把代码全贴出来看看吧,不然只是这样说真的没有定论的
xyz800316 2004-09-06
  • 打赏
  • 举报
回复
楼上的,不要程序一出错就说Delphi的不好!所有这些问题都是楼主自己代码的问题!可以想象的出你的代码写的很糟糕,可能在其他地方也会出现一些你意想不到的问题的。慢慢调试吧,尤其是内存管理,最好让自己思路清晰了!
ztenv 2004-09-06
  • 打赏
  • 举报
回复
不一定是delphi的问题,从自身找原因吧,大多是自己写的代码有问题
hj007 2004-09-05
  • 打赏
  • 举报
回复
你要是认为是你的程序没有错误,把你成生的.exe文件删除了,再编译一个.也可以看看楼上的方法,因为引起这样的错误的原因真的很多,你也最好把代码拿过来叫我们看看.
arraden 2004-09-05
  • 打赏
  • 举报
回复
TO:wilowind(无风雪亦飘)
说的有道理


但还有一个问题:有时候我的程序正常退出时会出现一个错误提示,提示什么.exe出什么问题,需杂关闭,不是知道是什么原因(很少出现这种问题,2000下更少,XP下多),可能会是什么原因呢?

可能是你退出程序时有些资源没有释放,退出时最好用Application.Terminate;

BigAngell 2004-09-05
  • 打赏
  • 举报
回复
TO:wilowind(无风雪亦飘)
说的有道理
BigAngell 2004-09-05
  • 打赏
  • 举报
回复
原因好像是这样:我调试了很久,最后把所有OnShow中的代码全部移到OnCreate中去,就没有出现什么问题了,当Application.Terminal时,也不会再执行任何代码。

●●●●●●●●●●●●下面这个问题解决了,一并给分●●●●●●●●●●●●●
但还有一个问题:有时候我的程序正常退出时会出现一个错误提示,提示什么.exe出什么问题,需杂关闭,不是知道是什么原因(很少出现这种问题,2000下更少,XP下多),可能会是什么原因呢?
drift1981 2004-09-05
  • 打赏
  • 举报
回复
把MainForm.Close换成application.teminate试试
wilowind 2004-09-05
  • 打赏
  • 举报
回复
对于"把尽量能放到implementation下引用的就不要放在interface下去引用" 这句.
我的观点刚好相反.
把尽量能放到interface下引用的就不要放在implementation下去引用,这样可以尽量避免互相引用, 减少代码的耦合.
加载更多回复(4)

16,749

社区成员

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

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