XE系列资源文件的奇怪问题

这是一个关于资源文件的故事.......-_-

今天写一个功能测试Demo, 为了省事直接在工程文件里Resources And Images里添加了几个图片, 类型都是默认的RCDATA

然后直接就在代码里引用了

结果...悲剧了, 无论如何都读不出资源来, 一直提示找不到

打开了编译后的res文件发现数据都在, 奇怪的就是怎么也读不到

因为以前一直是使用手动编写rc文件然后build去做, 没使用过系统自带的, 所以一直没注意过这个问题

然后吧同样数据的一个rc文件复制过来编译加载, 居然读到了

然后, 吧系统自动生成的rc文件手动编译res, 仍然读不到....抓狂ing.....

吧自己手写的rc改名成系统自动生成的rc, 让程序自动编译, 读到了....看来是不是编译的问题, 还是rc内容的事

仔细比较一下, 发现只有数据类型不一样, 我手写的都是自己定义的类型字符串, 自动生成的都是RCDATA, 难道是这个问题? 修改一下

...

我擦......读到了

再做个测试 还是Resources And Images里直接添加图片, 吧类型改成自定义的, 直接读....果然读到了 泪流满面啊 真是坑.....

总结一下, 想使用Project -> Resources And Images 来保存资源, 需要手动以下几个步骤:

1.先在dpr文件中手动添加资源引用{$R *.dres} 这个是资源文件编译完的文件, 为了不和原来的.res文件重名, 结果变成.dres, 可是没有自动添加进代码里, 需要手动添加

2.添加的资源文件类型不能使用RCDATA, 否则读不出来, 需要自己改类型名字

最后.....这莫非是BUG???

原文地址:https://www.cnblogs.com/lzl_17948876/p/4182403.html