【发布时间】:2016-05-17 07:37:00
【问题描述】:
我正在将 VCL 组件移植到 FMX。 99% 的代码是纯对象帕斯卡,所以效果很好 - 但我有一个方法可以创建一个表单,用按钮和文本框填充它,这在 FMX 下根本不起作用。
手动创建表单然后从代码中填充它的重点是确保它在 VCL、LCL 和 FMX 下编译;并且它在 iOS、Android 和任何使用的平台下也能正常显示。
但我不断收到“资源 /classname/ 未找到”,其中 /classname/ 是我给我的临时表单类的任何类名。
这样简单的事情会产生错误:
type
TMyDialogForm = Class(TForm);
procedure TForm1.Button1Click(Sender: TObject);
var
LDialog: TMyDialogForm;
begin
LDialog := TMyDialogForm.Create(application.MainForm);
try
LDialog.Caption := 'Yahoo!';
finally
LDialog.Free;
end;
end;
由于错误涉及资源,我怀疑它正在寻找某种类型的布局数据。我刚开始玩 FMX,我确实注意到不同的平台允许不同的布局。但我必须承认,无论您针对什么平台,我都希望它回退到默认主题。
那么——我究竟如何通过代码创建一个表单、填充它并使用 Firemonkey 显示 ut 而不会遇到这种错误?它在 VCL 和 LCL 下工作得非常好,但 FMX 一直在处理资源。
请不要告诉我所有的表单必须被设计?
【问题讨论】:
标签: delphi firemonkey vcl