Einzelnen Beitrag anzeigen

Der schöne Günther

Registriert seit: 6. Mär 2013
6.176 Beiträge
 
Delphi 10 Seattle Enterprise
 
#1

IXMLNode.NextSilbing() und angebliche Exception

  Alt 20. Jan 2014, 18:11
Ich habe weiterhin Hoffnung dass die Dokumentation nicht voller Fehler ist, sondern ich sie falsch verstehe. Die Dokumentation zu IXMLNodeList.NextSilbing() spricht:
Zitat:
NextSibling returns the node that follows this one in the parent node's ChildNodes property list.

If this node is the last node in its parent's child list, NextSibling raises an exception.
Das ist tatsächlich aber überhaupt nicht der Fall: Es kommt, wie es auch vernünftig wäre, nil heraus und gut ist. Zur Sicherheit noch der entsprechende Quelltext der Klassen:

Delphi-Quellcode:
function TXMLNode.NextSibling: IXMLNode;
begin
  if Assigned(ParentNode) then
    Result := ParentNode.ChildNodes.FindSibling(Self as IXMLNode, 1) else
    Result := nil;
end;
und

Delphi-Quellcode:
function TXMLNodeList.FindSibling(const Node: IXMLNode; Delta: Integer): IXMLNode;
var
  Index: Integer;
begin
  Index := IndexOf(Node);
  Index := Index + Delta;
  if (Index >= 0) and (Index < list.Count) then
    Result := Get(Index) else
    Result := nil;
end;
Warum redet die Hilfe hier von einer Exception? Ich verstehe das nicht. Auch in der Microsoft-Dokumentation zu MSXML steht davon nichts.
  Mit Zitat antworten Zitat