如何在Delphi组件中存储大文本?

Thi*_*ien 5 delphi delphi-2010

我制作了一个自定义组件,需要一个相当大(比如1MB)的UTF8文本来运行.出于开发目的,我只是从文件中加载它.现在我想摆脱那个文件.将其内容存储在组件中的最简单方法是什么,这样组件的用户就不必费心了?

首先我试着让它变得不变,但很快Delphi开始以许多不同的方式抱怨(太长或太多,内存不足等等).当我切换到将它作为资源嵌入时,我发现资源也不会自动编译到实际的应用程序中,所以它对组件用户来说不透明......

更新

如果我自己创建一个资源文件,我手动添加到设备中,我就可以使用它了.然后,我仍然需要一个预构建事件才能实现它.问题仍然是,如果我通过Delphi菜单将其添加到包中而不是单元,它不起作用的原因.为什么{$R myresource.res myresource.rc}不自动编译它应该......?

更新2

显然,需要将资源脚本添加到项目中以使自动编译工作.

Uli*_*rdt 8

{$R myresource.res}在包含组件的单元中添加行应该有效.

您可以将myresource.rc文件添加到组件的包中以使Delphi myresource.res自动生成.

  • @ThijsvanDien:停止尝试将资源与**项目相关联**.它不是项目的一部分; 它是你组件的一部分.如果使用适当的资源脚本将组件作为资源正确包含在内,则不需要预构建事件或其他任何事件.只要您的单元在项目中使用,它就会自动编译和链接. (3认同)