データを A TClientDataSet から B にコピーする関数を作成しました。
本番環境では、コードは次のように TClientDataSet を動的に埋めます。
procedure LoadClientDataSet(const StringSql: String; ParamsAsArray: array of Variant; CdsToLoad: TClientDataSet);
begin
//There is a shared TClientDataSet that retrieves
//all data from a TRemoteDataModule in here.
//the following variables (and code) are here only to demonstration of the algorithm;
GlobalMainThreadVariable.SharedClientDataSet.CommandText := StringSql;
//Handle Parameters
GlobalMainThreadVariable.SharedClientDataSet.Open;
CdsToLoad.Data:= GlobalMainThreadVariable.SharedClientDataSet.Data;
GlobalMainThreadVariable.SharedClientDataSet.Close;
end;
それは言った:
- そうしても安全ですか?(安全とは、どのような例外が予想され、どのように対処すればよいのでしょうか?)
- 「.Data」のメモリを解放するにはどうすればよいですか?