在delphi xe7中怎样运行android模拟机,在Delphi XE7中第二次在Android上打开表单时发......
更新资料尽管我的建议已记录在案,但Android和多种形式仍然存在问题.请参阅本文后面的内容.根本不要调用DisposeOf()或Free. FormClose()和caFree调用是使其工作的关键.FireMonkey架构师现在已经为此努力了多个版本,终于可以使用了.来自doc的示例如何创建模式对话框:procedure MyCurrentForm.MyButtonClick(Sender: T
更新资料
尽管我的建议已记录在案,但Android和多种形式仍然存在问题.请参阅本文后面的内容.
根本不要调用DisposeOf()或Free. FormClose()和caFree调用是使其工作的关键.
FireMonkey架构师现在已经为此努力了多个版本,终于可以使用了.
来自doc的示例如何创建模式对话框:
procedure MyCurrentForm.MyButtonClick(Sender: TObject);
var
dlg: TMyModalForm;
begin
// Create an instance of a form.
dlg := TMyModalForm.Create(nil);
// Configure the form. For example, give it a display name.
dlg.Caption := 'My Modal Dialog Box';
// Show your dialog box and provide an anonymous method that handles the closing of your dialog box.
dlg.ShowModal(
procedure(ModalResult: TModalResult)
begin
// Do something.
end
);
end;
并释放您的模式对话框:
procedure TMyModalForm.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Action := TCloseAction.caFree;
end;
更新资料
OP尝试了此解决方案,但无法正常工作.
调查质量控制时,有报告声称这在移动android平台上无法正常工作:
(您必须登录才能访问它们).
后者解释了正在发生的事情.当模态形式被破坏时,FFocusedControl可能指向被破坏的控件.当ARC试图释放FFocusedControl时,这将导致分段错误. FFocusedControl必须声明为[弱].有关更多详细信息,请参见RSP-9665.
更多推荐
所有评论(0)