- Код: Выделить всё
var Node: TDOMNode;
Doc: TXMLDocument;
begin
...
ReadXMLFile(Doc, S);
Node := Doc.DocumentElement.FirstChild; //
while Assigned(Node) do begin
case CaseNodeName of
0: begin // DocFields
Result.FData.BranchBetween := StrToInt(Node.Attributes.GetNamedItem(nuBranchBetween).NodeValue);
Result.FData.Fields.Left := StrToInt(Node.Attributes.GetNamedItem(nuLeft).NodeValue);
Result.FData.Fields.Top := StrToInt(Node.Attributes.GetNamedItem(nuTop).NodeValue);
Result.FData.Fields.Right := StrToInt(Node.Attributes.GetNamedItem(nuRight).NodeValue);
Result.FData.Fields.Bottom := StrToInt(Node.Attributes.GetNamedItem(nuBottom).NodeValue);
end;
1: Result.FData.Comment := AnsiToUtf8(Node.FirstChild.NodeValue);
...
end;
Node := Node.NextSibling;
end;
...
end;
Ошибка возникает на строке Result.FData.Comment := AnsiToUtf8(Node.FirstChild.NodeValue);
Если в файле есть значение, типа <Comment>пример</Comment>, то читается без ошибок, а если нет - <Comment></Comment>, то вылетает ошибка: "Проект *** вызвал класс исключения 'External: SIGSEGV'
Как с этим бороться?