请帮助。我正在开发一个长期的Delphi项目,该项目具有几种想要调整大小的firemonkey形式。我将与调整大小相关的代码放入从TForm继承的新表单中,并将现有的表单更改为从新表单继承。这似乎可行,但现在在编译期间失败,并显示诸如“未找到资源TLessonStudent”的错误 令人震惊的是,将代码恢复为以前的状态并不能消除错误。怎么了?有什么方法可以创建编译器想要的资源文件?谢谢!艺术
我尝试在不同的地方添加和删除编译器指令,例如{$ R * .DFM}。我还尝试将代码恢复到以前的样子,我的表单再次直接来自TForm。还是一样的错误。
以下是声明新顶层表单的方式:
type
TFluentTutorForm = class(TForm)
protected
...
resizableLayout: TScaledLayout;
procedure FormCreate(Sender: TObject);
private
...
function getScreenSize(var retWidth: integer; var retHeight: integer): boolean;
public
end; //TFluentTutorForm
var
fluentTutorForm: TFluentTutorForm;
implementation
{$R *.fmx}
这是我的旧表格之一,修改为从上面的表格降序
type
TLessonStudent = class(TFluentTutorForm)
...
procedure FormCreate(Sender: TObject);
private
unitTester: IftUnitTester;
public
end; //TStudentForm
var
studentForm: TLessonStudent;
implementation
{the formCreate method shown above calls "inherited formCreate" on it's
new parent, shown at top}
这是创建表单的项目代码的一部分:
{$R *.res}
begin
Application.Initialize;
Application.FormFactor.Orientations := [TFormOrientation.Portrait];// InvertedPortrait];
Application.CreateForm(TlessonStudent, studentForm); //<here!!
Application.CreateForm(TClientModule1, ClientModule1);
Application.CreateForm(TDataModule1, DataModule1);
Application.CreateForm(TmemTableForm, memTableForm);
Application.Run;
end.
答案 0 :(得分:0)
没关系,我明白了。答案是在子窗体中具有指令{$ R * .FMX},而在新的父窗体中却没有。
我仍然不知道为什么这些魔术符号必须是这种方式,但这确实成功了。 :)