delphi – 使用resourcestring而不是一个const字符串有什么优势吗?

前端之家收集整理的这篇文章主要介绍了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有更大的影响)。

原文链接:https://www.f2er.com/delphi/103473.html

猜你在找的Delphi相关文章