gpt4 book ai didi

delphi - TMultiView on Frame 导致 AV

转载 作者:行者123 更新时间:2023-12-03 15:12:48 29 4
gpt4 key购买 nike

将 TMultiview 控件放置在框架上并尝试在 IDE 中重新打开该框架时,会导致 AV 且无法查看它。

这是一个已知问题,已报告给 EMB。该问题已报告给新的质量门户:https://quality.embarcadero.com/browse/RSP-9621 。请注意,您需要登录才能查看此报告。对于那些没有帐户的人,以下是截至撰写本文时的报告内容:

enter image description here

有人知道解决方法,或者可以想出解决方法吗?

最佳答案

有一种解决方法可以让您查看和编辑该框架,但它涉及对 .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 中自由打开您的框架(表单),并用它执行您需要的任何操作。完成后,保存文件,在 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

关于delphi - TMultiView on Frame 导致 AV,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26968283/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com