将脚本存储为资源

时间:2012-08-10 06:37:41

标签: delphi delphi-xe

我有一些脚本,我希望我的程序可以使用。但是,我想知道我是否可以将这些脚本(例如批处理,javascript,vb脚本等)作为资源存储在我的应用程序中。

我将如何做到这一点?

3 个答案:

答案 0 :(得分:2)

您可以将脚本存储在资源文件中。但是例如批处理文件需要在磁盘上存档,因此您需要在工作之前解压缩它们。

答案 1 :(得分:1)

这是一篇很好的文章,解释了如何在资源文件中添加几乎所有内容并使用您的应用程序进行编译:http://delphi.about.com/od/objectpascalide/a/embed_resources.htm

答案 2 :(得分:1)

有些组件可以在DFM中存储任意文件/文件或字符串

例如rxLib / JediVCL中有这样的东西,但我相信很多VCL库都有一种或另一种DFM存储组件。

例如,我曾经在DFM中存储Firebird嵌入式数据库,将其保存到TEMP中并在运行时使用。

然而,这类似于每次更新时手动将文件重新读入DFM。真诚地说真的很烦人。


另一种方法是将文本链接到资源。您可以查看 DUnit 来源,了解它是如何完成的。您还可以在项目中包含.rc文件,以便在编写.exe

时编译成.res文件

这种方法对ansi / unicode文本解释很脆弱。 坦率地说,在我发现Delphi XE2中的 DUnit 之前(由于IDE错误导致它被禁用)我试图让SF的vanilla DUnit在那里运行。我失败了 - 在使用支持unicode的Delphi阅读时,链接到资源的非unicode文本文件完全损坏了。

看看这里和那里,尝试两种方法并选择更适合你的方法。