我四处搜索但发现没有任何解决方案,所以我试试这里:
我想整合我的程序使用并在运行时加载它们的图像(我之前以这种方式用delphi完成)。
我的想法是 1.)使用
创建资源文件lazres <resourcename> <imagename>
2。)在源
中包含资源文件{$R <resourcename>}
3。)编译 结果:
Unable to find file "Debug: Trying to open file /medi/media/work/src.hg/ylazlib/test/test.src/libtest6.lpr".
上面的文件名是项目源,应该找到。 我发现这个错误几乎是由无效的资源文件引起的。 但是这个信息应该以更好的方式解释问题。
如果我重命名资源文件(因此链接器无法找到它),我会得到一个正确的&#39;错误信息。在这种情况下,将打开需要资源的单元,并且消息指出无法打开资源文件。
那我在这里做错了什么? (我还试图以不同的格式将图像插入资源 - 因此图像本身可能不是问题) 任何帮助apreciated - 提前谢谢 注:OS:debian sid [fpc 2.6.4] Lazarus SVN
答案 0 :(得分:4)
遵循的程序与Delphi略有不同。作为explained here,您必须
LResources
添加到uses子句。{$I myRes}
而不是{$R myRes}
。使用
进行快速测试console lzares cmd:
C:\Users\me\Desktop\temp>lazres res.res project1.lpr=blah
源代码: 单位Unit1;
{$mode objfpc}{$H+}
interface
uses
Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs,LResources;
type
TForm1 = class(TForm)
private
{ private declarations }
public
{ public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.lfm}
initialization
{$I res.res}
end.
编译并运行正常。然后,如果它们是原始数据,加载res可能有点棘手,但对于图片而言,它非常简单,参见上一个链接中的示例。