我制作了一个自定义组件,需要一个相当大(比如1MB)的UTF8文本才能正常运行。为了开发方便,我只是从文件中加载了这个文本。现在我想摆脱这个文件。有什么最简单的方法可以将其内容存储在组件中,使得组件的用户不必担心这个问题?
首先,我尝试将其作为字符串常量,但很快Delphi就开始以许多不同的方式抱怨(太长或太多,内存不足等)。当我切换到将其嵌入为资源时,我发现该资源不会自动编译到实际应用程序中,因此对于组件用户来说并不透明...
更新
如果我自己创建一个资源文件,然后手动将其添加到单元中,那么它就能正常工作。然后,我仍然需要一个预构建事件才能使其实际上可用。问题仍然是,为什么如果我通过Delphi菜单将其添加到包中而不是单元中,它就无法工作?为什么
更新2
显然,资源脚本需要添加到项目中才能使自动编译生效。
首先,我尝试将其作为字符串常量,但很快Delphi就开始以许多不同的方式抱怨(太长或太多,内存不足等)。当我切换到将其嵌入为资源时,我发现该资源不会自动编译到实际应用程序中,因此对于组件用户来说并不透明...
更新
如果我自己创建一个资源文件,然后手动将其添加到单元中,那么它就能正常工作。然后,我仍然需要一个预构建事件才能使其实际上可用。问题仍然是,为什么如果我通过Delphi菜单将其添加到包中而不是单元中,它就无法工作?为什么
{$R myresource.res myresource.rc}
不能像应该的那样自动编译它...?更新2
显然,资源脚本需要添加到项目中才能使自动编译生效。
Project
,Resources...
并将文件添加到组件项目中。https://dev59.com/smHVa4cB1Zd3GeqPqtex 让我相信这种方式永远不会起作用,除非还对应用程序项目进行一些操作。 - Thijs van Dien