delphi – 使用resourcestring而不是一个const字符串有什么优势
你会告诉我,如果有一些优势(减少sotorage空间,增加速度等)使用:
resourcestring MsgErrInvalidInputRange = 'Invalid Message Here!'; 代替 const MsgErrInvalidInputRange : String = 'Invalid Message Here!'; 解决方法
const选项将比resourcestring更快,因为稍后将调用Windows API来获取资源文本。
您可以通过使用一些缓存机制来加快速度。这就是我们在增强型Delphi RTL中所做的工作。 如果您需要多次访问资源内容,那么首先将资源重新加载到字符串中是个好主意。 资源的重点是允许i18n(国际化)您的程序。 你有一些版本的Delphi IDE的翻译经理。但它依赖于外部DLL。 您可以使用来自Linux世界的gettext系统,从http://dxgettext.po.dk依赖于外部.po文件。 我们在我们的框架中包含了我们自己的i18n机制,它将翻译和缓存resourcestring文本,并依赖于外部.txt文件(可以使用UTF-8或Unicode文本文件,从Delphi 6到XE)。缓存使得它与const用法一样快。见http://synopse.info/fossil/finfo?name=SQLite3/SQLite3i18n.pas 还有其他开源或商业解决方案。 关于大小存储,资源化存储为UC2缓冲区。所以resourcestring会比Delphi 2009使用更多的内存。由于Delphi 2009,所有的字符串都是unicodestring,即UCS2,所以你不会有更多的存储空间。在所有情况下,文本的存储大小不是应用程序的较大尺寸参数(位图和代码大小对最终的exe有更大的影响)。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |