你好
让我为你解释一下。我正在开展一个大项目,它有很多形式。我不希望它使用太多RAM,因此我尝试使用Action:=caFree
关闭表单并使用Application.CreateForm(TFrmX, FrmX)
创建它们并且它工作正常。
此应用程序是多语言,因此它从外部文件加载表单组件标题和文本。我没有其他选择,只能将文件加载到内存中,并在每次创建表单时替换字符串。如你所知这使得表单创建有点慢,但我不知道如何在运行时更改类本身,以便我替换应用程序加载上的标题和文本,只需创建表单,这样应用程序没有在创建表单时替换它们;像这样(只是一个例子,它不起作用!):
TfrmX.Label1.Caption := 'sth'
我该怎么办?
答案 0 :(得分:2)
由于Delphi Localization实用程序非常简洁,您可能需要查看http://dxgettext.po.dk。我们将它用于多个项目,效果很好!只需在您的安装中添加一个额外的纯文本文件,即可获得所需的每个翻译。这也使用户可以轻松地进行自己的翻译。
答案 1 :(得分:1)
Delphi支持国际化,我认为你最好先看看现有的工具和技术,而不是尝试并提出自己的机制。
看看Bruce McGee对这个问题的回答......这是一个好的开始。
如果你想继续推出自己的解决方案,那么我倾向于做的只是在创建后在实例上设置文本属性。
答案 2 :(得分:0)
这不可能。您提供的代码只能在实例上运行,而不能在类引用上运行。