OpenAsClone函数在Delphi XE4中导致错误

时间:2013-09-26 14:34:02

标签: delphi delphi-7 delphi-xe4 fibplus

我在Delphi XE4应用程序中有2个数据集,如下所示:

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 个答案:

答案 0 :(得分:1)

我找到了错误的原因:

当我看到dsDestination数据集的字段编辑器时,它填充了dsSource的字段。我刚从dsDestination的字段编辑器中删除了所有字段,构建并编译了项目,问题得到了解决。