5

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

首先,我尝试将其设为字符串常量,但很快 Delphi 开始以许多不同的方式抱怨(太长或太多、内存不足等)。当我切换到将其嵌入为资源时,我发现该资源也不会自动编译到实际的应用程序中,因此它对组件用户不透明......

更新

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

更新 2

显然需要将资源脚本添加到项目中才能进行自动编译。

4

1 回答 1

8

在包含组件的单元中添加{$R myresource.res}行应该可以工作。

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

于 2013-07-20T19:41:33.370 回答