我正在使用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中,当然可以阅读它:)感谢您的帮助。
答案 0 :(得分:9)
您的资源类型不匹配。在* .RC文件中,您使用TEXT
,而在代码中使用RCDATA
。
您必须将* .RC文件更改为
Danish1cc RCDATA Danish1.cc
或者你必须改变
RS := TResourceStream.Create(HInstance, ResName, RT_RCDATA);
到
RS := TResourceStream.Create(HInstance, ResName, 'Text');
答案 1 :(得分:0)
我认为问题在于这一行 - {$R CCs}
您已经编译了一个资源文件,该文件不是名为CCs.res?
如果是这样,代码中的行应为{$R CCs.res}