我有一个带有本地化资源 DLL 的 Delphi 应用程序。
从 DLL 加载资源字符串后,我想对其进行搜索和替换。
是否有任何内部程序可以执行此操作?
我需要一种方法来搜索和替换加载的任何资源字符串,而不仅仅是更改特定的资源字符串。
拉乌尔。
是的,您必须挂钩 System.pas 中定义的 LoadResString() 过程。
例如,请参阅我们在http://synopse.info/fossil/finfo?name=SQLite3/SQLite3i18n.pas中的操作
本单元代码中包含所有内容:
您也有类似的代码,但这是包含在我们的开源 mORMot 框架中的代码,适用于从 Delphi 6 到 XE2。还有一些代码可以从同一个翻译文本文件中即时更改所有 .dfm 内容(即您的表单)。在http://mormot.net的框架文档中有一个关于它的章节
我认为您将在这里获得您的任务所需的所有代码模式。