It's difficult to tell what is being asked here. This question is ambiguous, vague, incomplete, overly broad, or rhetorical and cannot be reasonably answered in its current form. For help clarifying this question so that it can be reopened, visit the help center




7年前关闭。





这是与Delphi XE2和FastMM 4.99一起使用的,以及Win7-64计算机上的32位程序。

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

在FastMM中启用FullDebugMode时,退出程序时收到无效的类型转换错误。罪魁祸首似乎在于释放数据模块(错误发生在TADOConnection.GetADODataSet中)。谁能说明为什么会这样?

最佳答案

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

具体来说,我将TADOQuery细分为与数据模块一起使用。我记得为该类编写了一个析构函数重写,但是未能调用继承的dtor。可能这导致TADOConnection做一些未定义的事情。

关于delphi - 为什么包括FastMM会导致EInvalidTypecast错误? ,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/12518416/

10-09 06:32