Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/delphi/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Delphi E2161错误:RLINK32:太多资源无法处理。德尔菲误差_Delphi - Fatal编程技术网

Delphi E2161错误:RLINK32:太多资源无法处理。德尔菲误差

Delphi E2161错误:RLINK32:太多资源无法处理。德尔菲误差,delphi,Delphi,当我尝试链接dll中的资源时,出现以下错误 [DCC错误]E2161错误:RLINK32:太多资源无法处理 资源数量超过10K 我不确定dll中资源名称的大小是否有任何限制。 有没有办法向dll添加更多资源 -Pavan.我自己也没有遇到过这个错误,但如果我遇到了,我想我会尝试的第一件事是将我的资源分割成单独的RES文件 可能是“太多”一次就太多了,将资源分割到多个res文件可能会将事情分解为更易于管理的块,以便RLINK32处理 但这只是我的猜测。作为一种解决方法,您可以将相关图像合并到一个

当我尝试链接dll中的资源时,出现以下错误

[DCC错误]E2161错误:RLINK32:太多资源无法处理

资源数量超过10K

我不确定dll中资源名称的大小是否有任何限制。

有没有办法向dll添加更多资源


-Pavan.

我自己也没有遇到过这个错误,但如果我遇到了,我想我会尝试的第一件事是将我的资源分割成单独的RES文件

可能是“太多”一次就太多了,将资源分割到多个res文件可能会将事情分解为更易于管理的块,以便RLINK32处理


但这只是我的猜测。

作为一种解决方法,您可以将相关图像合并到一个图像中,然后在运行时分割出所需的部分。例如,Windows映像列表控件就是这样工作的。

将资源拆分为不同的DLL,或者选择一些容器来存储文件(例如一些嵌入式数据库,如SQL Lite、Eldos SoLFS存储、AidAim单文件系统存储或您自己的实现),如果可能,这些文件可以附加到可执行文件的末尾(由于您使用了Delphi 2009,因此可以使用后期生成命令来完成此操作)。如果您选择第二种方式,您的程序将使用更少的内存,因为资源部分将更小,也取决于实现,您还可以使用加密保护图像,甚至压缩图像。唯一的缺点是您必须创建自定义加载过程,以将png数据加载到对象中(不太难).

从无代码更改到更多修改:
1.尽量缩短资源的名称
2.使用较少的资源将dll拆分为多个(按性质或主题组织它们的好方法)

3.将图像资源组合成多个图像条(适用于图标、图示符等,大小相同时)

有一个组件TPngImageCollection。也许这对您有用。

什么版本的Delphi?什么类型的资源?它们必须是资源的原因是什么?或者它们可能位于外部文件中并在运行时加载?我已经尝试过了。拆分为多个RES文件不起作用。如果必须这样做,我同意Rob的意见将它们视为资源。