5

TMultiview コントロールをフレームに配置し、IDE でそのフレームを再度開こうとすると、AV が発生し、表示できません。

これは既知の問題であり、EMB に報告されています。この問題は、 https ://quality.embarcadero.com/browse/RSP-9621 の新しい Quality Portal に報告されています。このレポートを表示するには、ログオンする必要があることに注意してください。アカウントを持っていない人のために、執筆時点でのレポートは次のようになります。

ここに画像の説明を入力

誰かが回避策を知っていますか、または回避策を考え出すことができますか?

4

2 に答える 2

3

そのフレームを表示および編集できるようにする回避策がありますが、.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
于 2014-11-20T13:04:33.647 に答える
0

私はこの問題に約 1 週間対処してきましたが、今日まで XE7 のインストールが破損している可能性があるという印象を受けていました。それまでの間、この問題を回避するために私が行ったことは 、ファイルからすべての子を含むを切り取り、IDE でフレームを開いて、貼り付けることでした。唯一の欠点は、イベントを再度リンクする必要があることです。TMultiView.FMX

于 2015-02-03T06:54:50.067 に答える