Delphi-2010中仍然需要FastShareMem吗?

时间:2009-12-19 11:02:35

标签: delphi memory-management delphi-2010

到目前为止,我正在使用Delphi 7进行开发。为了通过f.e. TStringLists到我的DLL我使用FastShareMem单位作为每个程序中的第一个单位,并且我开发了dll。

如果我要迁移到Delphi-2010,FastShareMem是否还有必要吗?

感谢您提供的任何见解。

2 个答案:

答案 0 :(得分:5)

简答:不,SimpleShareMem附带Delphi 2010

答案很长:是的,Delphi仍然有its own memory manager,并且从一个内存管理器(exe)声明的内存不能返回到另一个(dll)。但是,由于Delphi 2006 Delphi附带了一个名为FastMM的新内存管理器,它可以像FastShareMem一样运行,也不需要分配任何额外的dll。您需要使用名为SimpleShareMem的单元。 FastMM还有其他nice features您可能想要查看。 FastMM也适用于Delphi 7 BTW。

如果使用运行时包进行编译,则不需要使用任何这些技巧,因为然后共享内存管理器。它还具有共享相同类型的优点。不再有TFont不能分配给TFont问题。当然这意味着你必须分发运行时包。

答案 1 :(得分:1)

不,请将SimpleShareMem用作应用程序和DLL中的第一个单元。

Delphi 2007及更高版本现在包含FastMM作为默认内存管理器,由SimpleShareMem使用,无需随应用程序分发任何DLL。

相关问题