delphi7中出现这种错误,求大神解释 5

 我来答
匿名用户
2017-01-18
展开全部
程序中访问了不能读的数据区域出现这样的错误。程序中不正确的内存分配与释放出现了问题导致的。
例如 SetLength(A, 10), B = A[14]就有可能。
例如TObject(A).Free; A.Value :=1。对象已经被注销后,读写对象的属性就有可能。
以上的错误发生在动态链接库中,可能是动态链接库中的变量内存已经释放后,再读写该内存。
还有一种比较隐蔽的可能是,接口没有释放,也常常会出现这样的错误。
例如
constructor TObj.Create;
begin
AI := AIObj.Create;
end;
destructor TObj.Destroy;
begin
AI := nil; //应该在对象注销前清空接口,如果没有也可能会出现以上情况。
inherited;

end;
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式