首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么包含FastMM会导致EInvalidTypecast错误?

为什么包含FastMM会导致EInvalidTypecast错误?
EN

Stack Overflow用户
提问于 2012-09-21 02:12:39
回答 2查看 183关注 0票数 2

这是使用DelphiWindows4.99和FastMM 4.99,以及Win7-64机器上的32位程序。

我正在尝试使用FastMM来检查我一直在开发的一个小程序。该程序包括一个数据模块,该模块位于项目的自动创建的表单列表中。数据模块只包含一个TADOConnection对象。

当我在FastMM中启用FullDebugMode时,我在退出程序时得到一个无效的类型转换错误。罪魁祸首似乎是释放了数据模块(错误发生在TADOConnection.GetADODataSet中)。有没有人能告诉我为什么会发生这种情况?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-09-21 05:19:30

事实证明,问题只是由FastMM暴露出来的,而不是由它引起的。

具体地说,我已经将TADOQuery子类化,以便与数据模块一起使用。我记得为这个类写了一个析构函数重写,但是没有调用继承的dtor。这可能导致TADOConnection做了一些未定义的事情。

票数 3
EN

Stack Overflow用户

发布于 2012-09-21 02:18:10

在没有更多信息的情况下,很难准确地说出来,但当你在释放某些东西时遇到问题时,通常是因为它试图释放已经释放的东西。在看到这个错误之前,尝试设置一些断点,看看是否有涉及到的类正在被释放。如果是这样的话,这应该会帮助你找到它。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12518416

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档