当前位置导航:炫浪网>>网络学院>>编程开发>>C++教程>>C++ Builder教程

AccessViolations访问冲突

A.       简介

B.       设计期间的AVs

a.   硬件原因

b.   软件原因

c.    库的错误

d.   升级C++Builder

C.       运行期间的AVs

a.   程序退出时发生AVs

b.   将你的指针设为空指针!

c.    使用IDE管理!

d.   在Form中使用caFree!

e.   随机AVs(非退出)

D.       用户提出的更多建议

简介

访问冲突(AVs)是Windows编程时发生的最麻烦的错误之一。尽管很难用一篇文章来解释清楚所有可能导致AVs的原因,我将尽可能的解释所有我所知道的原因。若您有本文中未提及的AVs的解决办法,请Email给作者。您的经验将加到本文中。

C++Builder中发生的AVs主要有两种形式。设计期间的AVs和运行期间的AVs。我们开始讨论吧。

设计期间的AVs

设计期间的AVs最容易捕捉到,但靠您自己很难真正除掉它。它们通常产生于编译时、Builder启动和关闭时,或者几乎是随机的。让我们先讨论以下这些已知的原因。

硬件原因

某些显卡、双处理器主板、和声音设备会导致C++Buider中的AVs。为什么?您机器中的每一块板卡都带有设备驱动。由于制造商、Windows版本、你使用的C++Builder版本的不同而存在兼容问题,会导致AVs问题。解决这种情况的步骤如下:

o        总是使用您系统部件的最新驱动程序。若您使用随Windows所带的驱动程序的话,你应从制造商那儿获取最新的升级版本。

o        访问Borland.Com和DejaNews.Com上的新闻组,查找关于您的硬件设备的主题。某些显卡已知有兼容问题。您可能需要更换硬件。使用人所共知的稳定且成熟的厂商提供的硬件是个好主意。Matrox就是个显卡的好例子。

o        检查您所安装的设备之间有没有冲突是个必须的步骤。

o        对一些古怪的显卡驱动程序来说,有时调低分辨率有助于稳定。

o        若您使用双处理器的话,确保两个处理器的step revision相同,就是要用完全一样的两个芯片啦。

共3页 首页 上一页 1 2 3 下一页 尾页 跳转到
相关内容
赞助商链接