BDE ⇒ FireDAC変換の前半部分で取り上げた、TADMemTable(XE5以降はTFDMemTable)使用部分の補足です。
古くからのプログラムでは、Paradoxを多々使用しているものがあります。
この場合、Paradoxには永続的にデータを保存する使い方と、一時的に使用する使い方の2種類があると思います。
後者のケースとしては、編集用にサーバーのデータをクライアントへ取り込み編集後サーバーへ戻すケースや、印刷時に直接サーバーデータをQueryなどで取り出したデータを使用しにくいく一旦Paradoxに取り込んで編集後、印刷出力という方法を使っている。
この場合、コンポーネントはTTableを使用している。このケースのFireDACへの変換には、TADMemTableが最適である。
具体的には、dfm書き換えで、TTableをTADMemTableに置き換えるだけです。(TTableについては、Field定義は事前に取り込んでおく必要はあります)
弊社の今までの実績では、LookupFieldやCalcFieldもそのままの定義、コードで使えます。また、イベントも変更無く使用可能です。
注意点としては、TADMemTableは、オンメモリで処理しますので、データの処理状況確認等が必要な場合は、必要なタイミングでSaveToFile()メソッドなどで、ファイルに出力することになります。
FDQueryで読み込んだデータは、
FDMemTable.Data := FDQuery.Data;
でコピーできます。処理前は、FDMemTableは、Closeしておくことが必要です。