2017-05-04 6 views
1

ファイルに保存せずにデータセットを閉じた後に、TFDMemTableに保存されているデータを永続化できるかどうかを検討しようとしています。

TFDMemTableデータのメモリ持続性

TResourceOptions.Persistentをチェックしましたが、これは実行時にTResourceOptions.PersistentFileNameで指定されたファイル名にのみ保存されます。ファイル名を空白のままにすると、設計時にdfmにデータを保存できますが、これは有用ではありません。

私はまた、.SaveToStream/LoadFromStreamを見ましたが、TResourceOptions.PersistentFileNameで指定されたファイルにセーブ/ロードするだけで、ローカルメモリストリームに保存することができました。

データを保持することができるとわかっているDevExpressコンポーネントがありますが、JSONとしてテーブルを転送するための機能を組み込んだFDAC RESTの例を使用しようとしています。

私はデータを保持するための設定がないか、誰かがそれを行う方法を持っていますか?

答えて

1

以下の私のために正常に動作します:

procedure TForm1.Button5Click(Sender: TObject); 
var 
    MS : TMemoryStream; 
begin 
    // Requires TFDStanStorageBinLink on form/datamodule 
    MS := TMemoryStream.Create; 
    try 
    FDMemTable1.SaveToStream(MS); 
    FDMemTable1.Close; 
    // sometime later 
    MS.Position := 0; 
    FDMemTable1.LoadFromStream(MS); 
    finally 
    MS.Free; 
    end; 
end; 
+0

ああTFDStanStorageBinLinkはミッシングリンクでした。 FireDACに関連するこれらのコンポーネントのいくつかは、要件に関してもう少し詳しく文書化する必要があると思います。 – mikelittlewood

関連する問題