Главная страница
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.033 c
8-1142771948
GuAV
2006-03-19 15:39
2006.10.15
Анимация перемещения картинки.


3-1155639526
2ded
2006-08-15 14:58
2006.10.15
Сохранение результата запроса на др. машине


2-1159607465
AFFONYA
2006-09-30 13:11
2006.10.15
Генератор


4-1149086909
Fluffy
2006-05-31 18:48
2006.10.15
Как связать SourceName[] и EVENTLOGRECORD?


4-1148993366
Grihan
2006-05-30 16:49
2006.10.15
Paint 32bit bitmap as disabled