Delphi TXMLNodeCollection.AddItem 插入错误位置

Delphi TXMLNodeCollection.AddItem inserts in the wrong position

我在 Delphi XE2 中并使用 TXMLNodeCollection.AddItem 将 IXMLNode 插入到列表中的位置 1。我的列表中已经有两个节点。相反,它所做的是插入到位置 0。当我尝试通过插入到位置 2 来调整它时认为它会转到 1,它实际上插入到最后的位置 2。

代码如下:

TXMLChartTemplateRowList = class(TXMLNodeCollection, IXMLChartTemplateRowList)
protected
  { IXMLChartTemplateRowList }
  function Add: IXMLChartTemplateRow;
  function Insert(const Index: Integer): IXMLChartTemplateRow;

  function Get_Item(Index: Integer): IXMLChartTemplateRow;
end;

implementation

function TXMLChartTemplateRowList.Insert(const Index: Integer): IXMLChartTemplateRow;
begin
  Result := AddItem(Index) as IXMLChartTemplateRow;
end;

我很困惑,请帮忙。

我发现在修改列表后从 TXMLNodeCollection class 调用 Resync 方法可以解决此问题。