FireDAC.Comp.DataSet.TFDDataSet.CloneCursor
Delphi
procedure CloneCursor(ASource: TFDDataSet; AReset: Boolean = False; AKeepSettings: Boolean = False); virtual;
C++
virtual void __fastcall CloneCursor(TFDDataSet* ASource, bool AReset = false, bool AKeepSettings = false);
プロパティ
種類 | 可視性 | ソース | ユニット | 親 |
---|---|---|---|---|
procedure function |
public | FireDAC.Comp.DataSet.pas FireDAC.Comp.DataSet.hpp |
FireDAC.Comp.DataSet | TFDDataSet |
説明
別のデータセットのデータを共有します。
CloneCursor を使用すると、別のデータセットに属しているデータをこのデータセットと共有することができます。CloneCursor を呼び出すと、このデータセットと ASource
データセットの内部データ記憶域は物理的に同じものになります。
ASource
は、このデータセットと共有されるデータを持つデータセットの参照です。
AReset
および AKeepSettings
によって、以下のプロパティおよびイベントの値がどう設定されるかが決まります。
- Filter、Filtered、FilterOptions、OnFilterRecord、FilterChanges
- IndexName、IndexFieldNames
- MasterSource、MasterFields
- ReadOnly
AReset
と AKeepSettings
がどちらも False であれば、上記のプロパティの値はどれも ASource
データセットと同じに設定されます。
AReset
が True であれば、上記のプロパティはどれもデフォルト値に設定されます。
AReset
が False で AKeepSettings
が True であれば、上記のプロパティは変更されません。この場合には、既存のインデックスやフィルタなどが、複製されたデータと互換であることを、アプリケーションで保証する必要があります。
CloneCursor では以下は複製されません。
- 永続フィールド
- アダプタ/更新オブジェクト
- OnFilterRecord 以外のイベント ハンドラ
例
FDMemTable1.CloneCursor(FDQuery1, True, False);
FDMemTable1.Locate(...);
FDMemTable1.Edit;
...