【问题标题】:Why won't Delphi XE2 let me embed a font resource as RCDATA?为什么 Delphi XE2 不允许我将字体资源嵌入为 RCDATA?
【发布时间】:2015-01-28 21:35:15
【问题描述】:

我想将.ttf 字体资源嵌入到我的EXE 中并动态加载它。此特定方法要求资源为RCDATA 类型。所以,我去Project > Resources and Images...Add...,然后选择我的.ttf 文件。资源类型FONT 是自动选择的,其标识符仅为1。我将类型更改为RCDATA 并输入我自己的资源名称。

问题:当我按下Ok 时,我收到一个错误,即FONT 资源的标识符必须是一个数值。但它不再是FONT 类型了,我已将其更改为RCDATA

我该如何解决这个问题?

【问题讨论】:

  • 我无法想象为什么除了使用 rc 文件之外还有人会做任何事情
  • @DavidHeffernan 好吧,我愿意,我只是让 IDE 为我创建它 :-)
  • 你为什么要这样做? IDE 在这方面很糟糕。它是 rc 文件中的一个衬里。
  • 按照 David 的评论,我无法想象为什么有人会在 XE2 IDE 中工作。这是可怕的越野车。 XE 非常好,最后几个版本稳定了很多,但是 XE 之后的前几个版本基本上是 b0rked。

标签: delphi fonts ide delphi-xe2 embedded-resource


【解决方案1】:

与 Jerry 所说的不同,您可以简单地在 Resources and Images... 对话框中“加载”字体文件。选择后,您可以将类型更改为RCDATA(右下角的组合框),如果您这样做了,您可以将名称更改为您选择的任何有效名称。

无需关闭并重新打开对话框

我在 XE2 和 XE7 中尝试过这个,它按预期工作。 FONT 类型仅仅是字体文件的默认值。这可以在对话框中轻松更改。

这对我来说看起来不像是一个错误。加载字体文件时只是简单的默认行为。就像在编辑器中加载 .pas 文件时的默认行为一样。


如果您想使用.rc 文件,在编辑器中生成一个(扩展名为.rc 的新文本文件)非常容易,然后您可以将其添加到您的项目中。 IDE 将负责其余的工作。除了编辑.rc 文件之外,也无需手动执行任何操作。

【讨论】:

    【解决方案2】:

    (一起问和回答,因为我确定其他人已经看到了这个问题)

    这似乎只是 IDE 中的一个小错误。当您第一次在此资源屏幕中选择您的.ttf 文件时,更改类型,按Ok 而不更改标识符(保留它1)。然后,打开相同的屏幕备份,将标识符更改为您自己的,然后按Ok。仅当您关闭并重新打开 Resources and Images 屏幕时才有效。

    您当然也可以编写自己的.rc 文件,并在没有此屏幕的情况下手动执行所有操作。

    【讨论】:

    • 这个错误在 D2009 中已经存在并且非常明显。我觉得奇怪的是它还没有在 XE2 中修复。
    • 我一直是手工制作 .rc 文件,但是 +1 用于将 IDE 操作方法放在这里。
    猜你喜欢
    • 1970-01-01
    • 2011-01-09
    • 1970-01-01
    • 2018-10-02
    • 2015-04-02
    • 1970-01-01
    • 2015-02-07
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多