Функция OpenAsClone, вызывающая ошибку в Delphi XE4

У меня есть 2 набора данных, как в моем приложении Delphi XE4:

object dsDestination: TpFIBDataSet

    object Field1: TFIBStringField
      FieldName = 'MYSTRING'
      Size = 1
      Transliterate = False
    ene

    object Field2: TFIBIntegerField
      FieldName = 'MYINT'
    end

  end

object dsSource: TpFIBDataSet

    object dsSourceMYSTRING: TFIBStringField
      FieldName = 'MYSTRING'
      Size = 1
      Transliterate = False
    end

    object dsSourceMYINT: TFIBIntegerField
      FieldName = 'MYINT'
    end

  end

Когда я пытаюсь сделать следующее заявление:

dsSource.Open;
dsDestination.OpenAsClone(dsSource);

Я получаю следующую ошибку в последней строке

dsDestination: Field MYSTRING not found

В Delphi 7 все работает нормально. Мое приложение Delphi 7 использует Firebird 2.5.1, а Delphi XE4 - 2.5.2. Я использую FIBPlus 7.5.

1 ответ

Решение

Я нашел причину ошибки:

Когда я увидел редактор полей набора данных dsDestination, он был заполнен полями dsSource. Я просто удалил все поля из редактора полей dsDestination, собрал и скомпилировал проект, и проблема была решена.

Другие вопросы по тегам