Я пытаюсь настроить TFDBatchMove
объект называется FDBatchMove
с набором данных читателя и писателя. В соответствии с эта документация
Прикладная программа должна назначить свойства для чтения и записи, а затем вызвать метод Execute.
Согласно документация за TFDBatchMoveDataSetReader
кто-то должен
Используйте TFDBatchMoveDataSetReader, чтобы определить исходный набор данных, из которого можно загрузить информацию, используя TFDBatchMove.
Установите свойство DataSet, чтобы выбрать набор данных.
Выберите TFDBatchMoveDataSetReader в качестве свойства Reader для TFDBatchMove.
документация за TFDBatchMoveDataSetWriter
содержит те же шаги.
Поэтому я создал TFDBatchMoveDataSetReader
и TFDBatchMoveDataSetWriter
объект, и установите их значения набора данных следующим образом:
TFDBatchMoveDataSetReader * Reader = new TFDBatchMoveDataSetReader( this );
Reader->DataSet = MyDataSet1;
TFDBatchMoveDataSetReader * Writer = new TFDBatchMoveDataSetReader( this );
Writer->DataSet = MyDataSet2;
Тем не менее, я сталкиваюсь с проблемой, когда я пытаюсь установить свойство чтения и записи моего TFDBatchMove
объект (т. е. третий шаг в документации).
Код…
FDBatchMove->Reader = Reader;
FDBatchMove->Writer = Writer;
…дает мне следующие ошибки:
E2034 Cannot convert 'TFDBatchMoveDataSetReader *' to '_di_IFDBatchMoveReader'
E2034 Cannot convert 'TFDBatchMoveDataSetWriter *' to '_di_IFDBatchMoveWriter'
Я пытался явно создать новый _di_IFDBatchMoveReader
объект, однако этот объект не дает мне доступ к свойству набора данных. Как я должен настроить мой TFDBatchMove
объект с читателем набора данных и писателем набора данных?
Посмотрев на этого дельфи пример Я разобрался с решением. Для того, чтобы применить TFDBatchMoveDataSetReader
а также TFDBatchMoveDataSetWriter
возражает против TFDBatchMove
объект, вы размещаете TFDBatchMove
Объект в их конструкторах в качестве параметра владельца. Так что в моем случае это будет выглядеть так:
TFDBatchMoveDataSetReader * Reader = new TFDBatchMoveDataSetReader( FDBatchMove );
TFDBatchMoveDataSetReader * Writer = new TFDBatchMoveDataSetReader( FDBatchMove );
Других решений пока нет …