到目前为止,我是用Delphi7开发的。为了通过f.e.我使用FastShareMem单元作为我开发的每个程序和dll的第一个单元。
如果我应该迁移到Delphi-2010,FastShareMem还有必要吗?
感谢您提供的任何见解。
发布于 2009-12-19 21:10:15
简短的回答:不,SimpleShareMem是Delphi2010自带的
长期答案:是的,Delphi仍然有its own memory manager,并且从一个内存管理器(exe)获得的内存不能返回给另一个内存管理器(dll)。但是自从Delphi2006以来,Delphi提供了一个新的内存管理器,叫做FastMM,它可以和FastShareMem做同样的事情,而且也不需要分发任何额外的dlls。您需要使用一个名为SimpleShareMem的单元。FastMM还有其他你可能想要查看的nice features。FastMM也可用于Delphi7BTW。
如果使用运行时包进行编译,则不需要使用任何这些技巧,因为内存管理器随后是共享的。它还具有共享相同类型的优势。不再有无法分配给TFont问题的TFont。当然,这确实意味着您必须分发运行时包。
发布于 2009-12-19 21:02:50
否,使用SimpleShareMem作为应用程序和动态链接库中的第一个单元。
Delphi2007和更高版本现在包含FastMM作为默认内存管理器,它由SimpleShareMem使用,不需要随应用程序分发任何动态链接库。
https://stackoverflow.com/questions/1932616
复制相似问题