Forms Delphi xe3主窗体隐藏
我一直在尝试使用hiden主窗体启动我的应用程序,但没有成功。信息技术 编译和所有操作,但当我运行它时,会出现运行时错误。当我使用定时器并将其设置为1毫秒,然后调用Forms Delphi xe3主窗体隐藏,forms,delphi,hide,firemonkey,delphi-xe3,Forms,Delphi,Hide,Firemonkey,Delphi Xe3,我一直在尝试使用hiden主窗体启动我的应用程序,但没有成功。信息技术 编译和所有操作,但当我运行它时,会出现运行时错误。当我使用定时器并将其设置为1毫秒,然后调用Application.MainForm.Hide时,它会隐藏但会闪烁,我不希望发生这种情况 program Project1; uses FMX.Forms, Unit1 in 'Unit1.pas' {Form1}; {$R *.res} begin Application.Initialize; Applic
Application.MainForm.Hide
时,它会隐藏但会闪烁,我不希望发生这种情况
program Project1;
uses
FMX.Forms,
Unit1 in 'Unit1.pas' {Form1};
{$R *.res}
begin
Application.Initialize;
Application.CreateForm(TForm1, Form1);
Application.MainForm.Visible := false;
Form1.Visible:=false;
Application.Run;
end.
在FireMonkey应用程序中,自动创建的表单(已创建)和
MainForm
属性在application.Run
方法中分配。因此导致访问冲突的原因是MainForm
属性和form1
变量为nil
为了访问这些属性,必须首先执行该方法
begin
Application.Initialize;
Application.CreateForm(TForm2, Form1);
Application.RealCreateForms;
//Application.MainForm.Left:=-Application.MainForm.Width;
Application.MainForm.Visible:=False;
Application.Run;
end.
更简单的方法-覆盖可以显示:
type
TfrmMain = class(TForm)
public
function CanShow: Boolean; override;
end;
...
function TfrmMain.CanShow: Boolean;
begin
Result := False; // Or return True when it's OK to show
end;
如果你不告诉我们什么是运行时错误,“我得到运行时错误”是毫无意义的。发帖时,请记住,我们看不到你的屏幕,也看不到你的心思,因此你需要具体说明,并在问题中提供详细信息。如果您不向我们提供用于帮助您的信息,我们将帮不上什么忙。:-)与不同平台的警告相关的答案