2017-05-31 14 views
1

スタイルの使用時にTDateEditピッカーから選択した日付をクリックするとアクセス違反が発生します。Delphi Tokyo FMX - スタイルの使用時にTDateEditから日付を選択した後のアクセス違反

まず、(DELPHI)/ Redist/styles/fmxフォルダのスタイルサンプルからTStyleBookコンポーネントまで任意のスタイルを選択する必要があります。

その後、ユニット

のWindows

上でプログラムを実行し、日付ピッカーから任意の日付を選択します。 "untDateTime.pas" デザインと、エラーから

unit untDateTime; 

interface 

uses 
    System.SysUtils, System.Types, System.UITypes, System.Classes, System.Variants, 
    FMX.Types, FMX.Controls, FMX.Forms, FMX.Graphics, FMX.Dialogs, 
    FMX.DateTimeCtrls, FMX.Styles.Objects, FMX.Ani, FMX.StdCtrls, FMX.Effects, 
    FMX.Filter.Effects; 

type 
    TForm1 = class(TForm) 
    StyleBook1: TStyleBook; 
    DateEdit2: TDateEdit; 
    private 
    { Private declarations } 
    public 
    { Public declarations } 
    end; 

var 
    Form1: TForm1; 

implementation 

{$R *.fmx} 

end. 

画像:今

enter image description here

+2

品質ポータル –

答えて

0

東京のNeedStyleLookupは、実際に自由なスタイルのリソースを制御します。ポップアップでDateをクリックするとTCalendarはTCalendar - FPopupForm.RemoveObject(Self)のスタイル付きリソースをポップアップおよびポップアップするためのIsOpen:= Falseを作成します。

カスタムTDateEditを作成することでこれを修正する優雅な方法はありません。 クイックソリューションは1つしか提供できません。他のユニット(FMX.PhoneDialer.iOS.pas、FMX.PhoneDialer.iOS.pas)はここでISOとANDROIDの状況はわかりません。他の人のために、あなたのプロジェクトにFMX.Pickers.Default.pasをコピーして、例のFMX.Pickers.DefaultFix.pas

は今、これを追加するために名前を変更することができます変更します。

procedure TPopupDateTimePicker.DoDateSelected(Sender: TObject); 
begin 
    TThread.CreateAnonymousThread(
    procedure 
    begin 
     TThread.Synchronize(nil, 
     procedure 
     begin 
      IsOpen := False; 
     end); 
    end).Start; 

// IsOpen := False; 
end; 

procedure TPopupDateTimePicker.DoDayClick(Sender: TObject); 
begin 
    DoDateChanged(Parent); 

    TThread.CreateAnonymousThread(
    procedure 
    begin 
     TThread.Synchronize(nil, 
     procedure 
     begin 
      IsOpen := False; 
     end); 
    end).Start; 

// IsOpen := False; 
end; 

initialization 
{$IFNDEF IOS OR ANDROID} 
    UnregisterPickersService; 
    RegisterPickersService; 
{$ENDIF} 
end. 
を追加
+0

でバグレポートを送信してくださいこのAV動作はベルリン版でも発生しています。 この問題が発生しないようにするには、Windows版のStyleBookを無効にする必要がありました。 –

+0

しかし、あなたの実装は魅力的に機能しました。 @App –

関連する問題