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