C++ Firedac:如何使用数据集读写器设置TFDBatchMove?

C++ Firedac:如何使用数据集读写器设置TFDBatchMove?,c++,firedac,c++builder-xe8,C++,Firedac,C++builder Xe8,我正在尝试使用读写器数据集设置名为FDBatchMove的TFDBatchMove对象。据 应用程序应该为属性分配所需的读写器,然后调用Execute方法 根据forTFDBatchMoveDataSetReader 使用TFDBatchMoveDataSetReader定义源数据集,使用TFDBatchMove从中加载信息。 设置DataSet属性以选择数据集。选择TFDBatchMoveDataSetReader作为TFDBatchMove的读卡器属性 forTFDBatchMoveData

我正在尝试使用读写器数据集设置名为
FDBatchMove
TFDBatchMove
对象。据

应用程序应该为属性分配所需的读写器,然后调用Execute方法

根据for
TFDBatchMoveDataSetReader

使用TFDBatchMoveDataSetReader定义源数据集,使用TFDBatchMove从中加载信息。

设置DataSet属性以选择数据集。

选择TFDBatchMoveDataSetReader作为TFDBatchMove的读卡器属性

for
TFDBatchMoveDataSetWriter
包含相同的步骤

因此,我创建了一个
TFDBatchMoveDataSetReader
和一个
TFDBatchMoveDataSetWriter
对象,并将它们的数据集值设置为:

TFDBatchMoveDataSetReader * Reader = new TFDBatchMoveDataSetReader( this );
Reader->DataSet = MyDataSet1;

TFDBatchMoveDataSetReader * Writer = new TFDBatchMoveDataSetReader( this );
Writer->DataSet = MyDataSet2;
但是,当我试图设置我的
TFDBatchMove
对象(即文档中的第三步)的reader和writer属性时,遇到了一个问题

代码

FDBatchMove->Reader = Reader;
FDBatchMove->Writer = Writer;  
…给了我以下错误:

E2034 Cannot convert 'TFDBatchMoveDataSetReader *' to '_di_IFDBatchMoveReader'

E2034 Cannot convert 'TFDBatchMoveDataSetWriter *' to '_di_IFDBatchMoveWriter'

我尝试显式创建一个新的
\u di_IFDBatchMoveReader
对象,但是该对象不允许我访问Dataset属性。我应该如何使用数据集读取器和数据集写入器设置我的
TFDBatchMove
对象?

查看此delphi后,我找到了解决方案。为了将
TFDBatchMoveDataSetReader
TFDBatchMoveDataSetWriter
对象应用于
TFDBatchMove
对象,您将
TFDBatchMove
对象作为所有者参数放置在其构造函数中。所以在我的例子中,它看起来是这样的:

TFDBatchMoveDataSetReader * Reader = new TFDBatchMoveDataSetReader( FDBatchMove );
TFDBatchMoveDataSetReader * Writer = new TFDBatchMoveDataSetReader( FDBatchMove );