我即将把一个 Delphi Windows应用程序移植到Android上,这是有史以来第一次,所以如果这个问题很愚蠢,请原谅。
该应用程序有一个嵌入式数据库文件(好吧,技术上,它只是一个Excel工作簿,但这不是主要问题)。问题是前面的代码
var
ResStream: TResourceStream;
begin
ResStream := TResourceStream.Create(HINSTANCE, 'ID_GCDB', RT_RCDATA);
...
end;
不编译。RT_RCDATA是在Windows单元中定义的,移动的编译器从来没有听说过,这并不奇怪。有没有一种方法可以在Android下提取 Delphi 中的资源,如果有,有没有一种可移植的方法可以做到这一点,这意味着一个只适用于Android和Windows?
2条答案
按热度按时间n1bvdmb61#
documentation解释了你需要做什么:
仅桌面平台支持资源文件。在移动的平台中,操作系统不接受从资源文件加载。要将文件加载到移动终端,请使用另一种方法,即从外部加载文件。
上面链接到的同一文档主题随后详细介绍了如何使用部署管理器来确保您的资产与应用一起部署。文档主题接着提供一个简单的代码示例,演示如何定位资产。
nzk0hqpo2#
有了 Delphi 11.3,我就可以像往常一样在Android-32应用程序中使用这些资源了--不需要特殊的处理。