在FormCreate过程中,我写道:
var f: TResourceStream;
begin
// load data about rights from rights.txt resource file
f := TResourceStream.create(Hinstance, 'rights', PChar('RT_RCDATA'));
try
LoadFromStream(f);
finally
f.free;
end;
并收到错误:
Project1.exe raised exception class ERESNotFound with message 'Resource rights not found'.
如果我更改文件路径'权限':
'rights.txt' or
'D:\Example\rights.txt' or
'D:\Example\rights'
我得到同样的错误!
rights.txt文件我找到了项目文件夹和win32 \ debug \ project1.exe文件夹,但是发生了同样的错误。
更新1
rights.txt file for loading popupmenu
在rights.txt文件中这些未定义的符号是什么?
答案 0 :(得分:3)
您需要将ResType
参数更改为RT_RCDATA
而不是PChar('RT_RCDATA')
f := TResourceStream.create(Hinstance, 'rights', RT_RCDATA);
RT_RCDATA
单元中定义的System.Types
如下
const
RT_RCDATA = PChar(10);
所以你也可以像这样使用它
f := TResourceStream.create(Hinstance, 'rights', PChar(10));