我一直在我的Delphi 6 Pro应用程序中顺利使用FastMM4版本4.92。现在,我想在我创建的一个包(BPL)中使用它。我尝试将这些单元放在Contains部分,然后将它们移动到列表的顶部,但我仍然会收到来自FastMM4的错误提示,指出它不是第一个要初始化的单元。为了解决这个问题,我想把FastMM4放在Requires部分,但我无法找到任何FastMM4的DCP文件(运行时库)。有人知道如何解决吗?
我一直在我的Delphi 6 Pro应用程序中顺利使用FastMM4版本4.92。现在,我想在我创建的一个包(BPL)中使用它。我尝试将这些单元放在Contains部分,然后将它们移动到列表的顶部,但我仍然会收到来自FastMM4的错误提示,指出它不是第一个要初始化的单元。为了解决这个问题,我想把FastMM4放在Requires部分,但我无法找到任何FastMM4的DCP文件(运行时库)。有人知道如何解决吗?
可能您遇到这个错误的原因是,您应该将FastMM4单元包含在测试(使用)新创建的包所在的项目中,而不是包中。当然,在“uses”部分中应该放在第一位。
您是否在FastMM4Options.inc文件中设置了UseRuntimePackages?否则,您可以尝试使用ShareMem和随FastMM一起提供的BorlndMM.dll替换。虽然ShareMem是为DLL设计的,但它的使用应该将所有内存管理例程路由到BorlndMM.dll中的例程,使标准包和您的包都可以使用FastMM代码。