在框架上放置 TMultiview 控件并尝试在 IDE 中重新打开该框架会导致 AV 无法查看。
这是一个已知问题并已报告给 EMB。该问题已在此处报告给新的质量门户:https ://quality.embarcadero.com/browse/RSP-9621 。请注意,您需要登录才能查看此报告。对于那些没有帐户的人,以下是截至撰写本文时报告的样子:
有谁知道解决方法,或者可以提出解决方法?
在框架上放置 TMultiview 控件并尝试在 IDE 中重新打开该框架会导致 AV 无法查看。
这是一个已知问题并已报告给 EMB。该问题已在此处报告给新的质量门户:https ://quality.embarcadero.com/browse/RSP-9621 。请注意,您需要登录才能查看此报告。对于那些没有帐户的人,以下是截至撰写本文时报告的样子:
有谁知道解决方法,或者可以提出解决方法?
有一种解决方法可以让您查看和编辑该帧,但它涉及对 .pas 和 .fmx 文件的一些手动处理
假设您创建了带有 TMultiView 组件的框架。
您的 .pas 文件如下所示:
unit Unit3;
interface
uses
System.SysUtils, System.Types, System.UITypes, System.Classes, System.Variants,
FMX.Types, FMX.Graphics, FMX.Controls, FMX.Forms, FMX.Dialogs, FMX.StdCtrls, FMX.MultiView;
type
TFrame3 = class(TFrame)
MultiView1: TMultiView;
private
{ Private declarations }
public
{ Public declarations }
end;
implementation
{$R *.fmx}
end.
你的 .fmx 文件看起来像:
object Frame3: TFrame3
Size.Width = 561.000000000000000000
Size.Height = 408.000000000000000000
Size.PlatformDefault = False
TabOrder = 0
object MultiView1: TMultiView
Size.Width = 250.000000000000000000
Size.Height = 408.000000000000000000
Size.PlatformDefault = False
TabOrder = 0
end
end
为了成功打开您的框架,您必须在记事本等编辑器中打开这两个文件。在您的 .pas 文件类声明中将 TFrame 替换为 TForm,
TFrame3 = class(TForm)
然后从 .fmx 文件中剪下 TFrame 特定属性(并将其存储在某处,因为您需要在完成编辑后将它们复制回来)
Size.Width = 561.000000000000000000
Size.Height = 408.000000000000000000
Size.PlatformDefault = False
TabOrder = 0
现在您可以在 IDE 中自由地打开您的 Frame (Form),并使用它做任何您需要的事情。完成后,保存文件,在 IDE 中关闭它们,然后在记事本中再次编辑 .pas 和 .fmx 文件。
TFrame3 = class(TFrame)
并将 IDE 插入的 TForm 特定属性替换为原始 TFrame 属性
Left = 0
Top = 0
ClientHeight = 480
ClientWidth = 640
FormFactor.Width = 320
FormFactor.Height = 480
FormFactor.Devices = [Desktop, iPhone, iPad]
DesignerMasterStyle = 0
我已经处理这个问题大约一个星期了,直到今天我的印象是我的 XE7 安装可能已损坏。同时,我为解决这个问题所做的工作是从文件中 剪切及其TMultiView
所有子.FMX
项,在 IDE 中打开框架,然后粘贴. 唯一的缺点是您必须再次链接事件。