如何加载FMX组件中的资源

时间:2015-04-30 10:44:03

标签: delphi resources components firemonkey

我尝试在FMX-Component中使用资源,并在尝试读取资源时获取EResNotFound-Error。

以下情景:

  • 一个FMX-bpl(FmxComponents.bpl),我在我的IDE(XE7)中通过'资源和图像'添加了一些png文件。
  • 资源进入'FmxComponents.dres'而不是'FmxComponents.res'。
  • 当我尝试宣读此声明时TResourceStream.Create(FindClassHInstance(TPmFmxTitelbar), 'ImgOptions', RT_RCDATA);我收到错误EResNotFound'资源未找到ImgOptions'
  • 我试图用haole(how-to-add-and-use-a-resource-from-a-custom-package-component-in-delphi)的帖子来解决它,但没有成功。

2 个答案:

答案 0 :(得分:0)

TResourceStream构造函数的第一个参数是搜索资源的模块实例。因此,如果您确实正确地链接了资源,使用正确的类型和名称,那么可以假设您传递的是错误的模块实例。

因此,实现拼写错误TPmFmxTitelbar的模块可能不是资源链接的模块。

如果您确实传递了正确的模块实例,那么剩下的结论是您无法将资源与指定的类型和名称链接。使用资源查看器/编辑器检查它。

答案 1 :(得分:0)

好吧,我解决了这个问题。 我添加了' FmxComponents.dres'使用{$R FmxComponents.dres}到我的组件。

我认为在dpk文件中添加它就足够了。