gpt4 book ai didi

image - 如何正确添加资源(*.res)文件到组件包中?

转载 作者:行者123 更新时间:2023-12-03 15:45:32 25 4
gpt4 key购买 nike

我在单个 .dpk 文件中设置了自己的 Delphi 组件。我的一个组件需要一些图像来与其一起分发。我创建了 RES 文件(将其命名为“MyImages.RES”),并且我希望我的可视组件在创建时加载其内容。

如何正确将此RES文件添加到DPK中?

当我将 {$R 'MyImages.RES'} 放入我的 .dpk 文件中时,TResourceStream 创建失败,因为它无法按资源名称找到我的图片:

constructor TMyComponent.Create(AOwner: TComponent);
begin
S := TResourceStream.Create(HInstance, 'MY_PICTURE1', RT_RCDATA);

RES 文件是由此 RC 创建的:

MY_PICTURE1 RCDATA "my_picture1.png"

最佳答案

直接在声明组件的单元中使用 {$R 'MyImages.res'} 指令。加载资源时,使用 FindClassHInstance(TMyComponent) (TMyComponent 所在的模块)而不是 HInstance (主要可执行文件 - 这也可能恰好是TMyComponent 所在的模块,具体取决于您的链接方式)。

编辑:您似乎想链接运行时包,但实际上您是将组件静态链接到主可执行文件中。显然,您已经编译了运行时(和设计时).bpl 包。要编译使用带有运行时包的组件的主项目(.exe 或 .dll),您应该:

  1. 在项目选项中选择“使用运行时包构建”
  2. 将包的基本名称添加到“项目选项”中的运行时包列表中。

关于image - 如何正确添加资源(*.res)文件到组件包中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6831045/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com