【问题标题】:Delphi embedding localized DLL data to EXEDelphi 将本地化的 DLL 数据嵌入到 EXE
【发布时间】:2023-04-02 07:55:01
【问题描述】:

从 Delphi 编译器 (10.x) 我得到了 app.exe 和 app.enu 文件。 app.enu 文件包含本地化的英文字符串,它确实是一个带有 STRING 和 RCDATA 部分的 DLL。 App.exe 通过简单的调用从 app.enu 加载 STRING 和 RCDATA 部分

LoadLibraryEx(FileName, 0, LOAD_LIBRARY_AS_DATAFILE); 

我想合并两个文件 (.exe + .enu/dll) 并在我的 exe 应用程序中加载本地化的 STRING 和 RCDATA 部分。

我尝试过 Ilmerge,但只关注 .NET 程序集,而不关注常规 exe/dll(或非托管) 我也环顾四周,没有找到任何明显的解决方案。

或者可能根本不可能……?

【问题讨论】:

标签: delphi merge localization


【解决方案1】:

Soluling 的 I18N API 使这成为可能。

https://github.com/soluling/I18N

可以在此处找到有关此的示例。

https://github.com/soluling/I18N/tree/master/Samples/Delphi/VCL/SingleFileDeploy

资源 DLL 作为自定义资源添加。然后,当您启动应用程序时,I18N API 从 EXE 中提取 DLL。

Soluling 是付费产品,但 I18N API 是开源的。

【讨论】:

    猜你喜欢
    • 2019-11-11
    • 2016-10-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-03-10
    • 2013-02-03
    • 2013-05-26
    • 2011-10-18
    相关资源
    最近更新 更多