6

我正在使用 Delphi XE Starter。我创建了一个 CCs.RC 文件并将该文件添加到项目中。我的 CCs.RC 文件中的典型行如下所示:

Danish1cc Text Danish1.cc

直接在我添加的实施行之后

{$R CCs}

当我尝试将此文件读入现有字符串列表时,我收到一条[EResNotFound][1]错误消息。这是我用来尝试读取文件的代码:

procedure LoadStringListFromResource(const ResName: string;SL : TStringList);
var
  RS: TResourceStream;
begin
  RS := TResourceStream.Create(HInstance, ResName, RT_RCDATA);
  try
    SL.LoadFromStream(RS);
  finally
    RS.Free;
  end;
end;
///
LoadStringListFromResource('Danish1cc',MySL)

我的目标是将文件嵌入到我的 EXE 中,当然能够读取它:) 谢谢你的帮助。

4

2 回答 2

10

您的资源类型不匹配。在您使用的 *.RC 文件中,TEXT而在您的代码中使用RCDATA. 您必须将 *.RC 文件更改为

Danish1cc RCDATA Danish1.cc

或者你必须改变

RS := TResourceStream.Create(HInstance, ResName, RT_RCDATA);

RS := TResourceStream.Create(HInstance, ResName, 'Text');
于 2012-09-08T18:04:17.260 回答
0

我认为问题在于这条线 -{$R CCs}

你编译了一个资源文件,那个文件不是叫CCs.res吗?

如果是这样,您的代码中的那一行应该是 {$R CCs.res}

于 2012-09-08T18:13:48.023 回答