Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.10.15;
Скачать: CL | DM;

Вниз

AccesViolation в XML   Найти похожие ветки 

 
mfender ©   (2006-09-25 13:29) [0]

Здравия желаю!

Вот интересная история: процедура раскладывает ноды из XML в TTreeView. Самое примечательное, что эта процедура отлично работает, как метод в Form1. Но выкидывает AccessViolation, когда работает как метод TMyTreeView. Спотыкается вот на этом месте:



<DOMAIN>
 <OID>55</OID>



Т.е., она споткнулась на первом же Integer"е в документе. Но почему же она нормально работает отдельно от TMyTreeView?


 
Dmitrij_K   (2006-09-25 13:31) [1]

Тебе тоже не хварать.

> Но почему же она нормально работает отдельно от TMyTreeView?

Я думаю, что ошибка в программе.


 
mfender ©   (2006-09-25 13:32) [2]

Да, забыл ещё вот что. Она спотыкается вот на этом коде:


{Тут она рекурсивно сама себя вызывает}
DOM2Tree(XMLNode.ChildNodes.Nodes[I], NewTreeNode);


но нормально реагирует на

XMLNode.DOMNode.childNodes.length


 
Reindeer Moss Eater ©   (2006-09-25 13:34) [3]

отладчик мама на работу унесла?


 
Reindeer Moss Eater ©   (2006-09-25 13:36) [4]

Нету нода с индексом I вот и все дела.


 
mfender ©   (2006-09-25 13:42) [5]


> Reindeer Moss Eater ©   (25.09.06 13:34) [3]
> отладчик мама на работу унесла?
>
> Reindeer Moss Eater ©   (25.09.06 13:36) [4]
> Нету нода с индексом I вот и все дела.

Отладчик показывает, что всё там есть. Но у XMLNode.ChildNodes.Count значение в этом месте - AccessViolation...


 
Reindeer Moss Eater ©   (2006-09-25 13:46) [6]

Значит нет самого XMLNode или еще чего.
В любом случае твоя ошибка - использование неактуального указателя на объект.


 
mfender ©   (2006-09-25 14:12) [7]

Что-то странное творится.
У меня вверху есть проверка:

     
if XMLNode.NodeName = NODE_DOMAIN then
begin
   NodeText := IXMLDOMAINType(XMLNode).Title;
end;

IXMLDOMAINType - это интерфейс к этому XML-узлу.
А вот стоило написать

if XMLNode.NodeName = NODE_DOMAIN then
begin
showmessage(XMLNode.ChildValues["Title"]);
   NodeText := XMLNode.ChildValues["Title"];
end;

Всё стало работать... Странно всё это...



Страницы: 1 вся ветка

Текущий архив: 2006.10.15;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.03 c
2-1159342059
AdminSKBZ
2006-09-27 11:27
2006.10.15
MDI - сохранение и востановления


11-1131354447
homm
2005-11-07 12:07
2006.10.15
А вот такой еще глюк нашел...


2-1159467945
Ezorcist
2006-09-28 22:25
2006.10.15
Выдернуть подструку из строки


2-1159324834
balepa
2006-09-27 06:40
2006.10.15
Не пойму почему не видно Label ов


2-1158926772
did_elena
2006-09-22 16:06
2006.10.15
вычисление даты