文本资源将不会编译到我的德尔福exe文件(Text resource won't compi

2019-10-31 04:01发布

我使用的单词列表在我的Delphi程序,到现在为止我会放在一个TMemo的Lines属性列表。 我不需要可视组件,虽然,而是一个的TStringList,所以现在我想利用这个资源文件做事的正确方法,并从资源加载我TStringList中。 我试图从应用信息这个答案 ,但我得到一个错误:

[dcc32错误] E2161错误:RLINK32:在不支持的文件16位资源 “D:\等\ Unit1.rc”

良好的措施,我有这个Unit1.rc文件:

RC_keywords RCDATA "keywords.txt"

我在项目→资源和图像......创造了这个,但看起来这是一样的书写rc文件自己。

在我的节目,我有这个资源包括:

{$R *.rc}

在我的程序

procedure TForm1.FormCreate(Sender: TObject);
var
  SL: TStringList;
  ResStream: TResourceStream;
begin
  SL := TStringList.Create;
  try
    ResStream := TResourceStream.Create(hInstance, 'RC_keywords', RT_RCDATA);
    SL.LoadFromStream(ResStream);
    //
    // do a lot of useful stuff here
    //
  finally
    SL.Free;
  end;

什么是错在这里?

Answer 1:

正如大卫说,编译器无法使用.rc脚本直接,它必须被编译成.res文件。

我刚刚创建了一个简单的文本文件, keywords.txt 。 然后我创建另一个文本文件,具有相同的内容是你的,叫keywords.rc ,所有在Delphi IDE。

既节约了之后,我点击菜单Project - > Add to Project...并添加keywords.rc到项目中。 在.dpr ,行

{$R 'keywords.res' 'keywords.rc'}

并将.res文件,只要我编译了该项目创建的。



Answer 2:

你是不是编译资源脚本到一个编译的资源。 你必须编译脚本,rc文件,在编译的资源,一个res文件。 做,使用资源编译器brcc32 。 然后链路的资源这样

{$R keywords.res}

或者让编译器调用资源编译器为你

{$R keywords.res keywords.rc}

我假设的资源脚本名keywords.rc这更有意义,我认为Unit1.rc



文章来源: Text resource won't compile into my Delphi exe