Проблем->Delphi 7->TXmlDocument->DocumentElement

1 отговора 106 прегледа
#1

Проблем->Delphi 7->TXmlDocument->DocumentElement

Здравейте !
Проблема е следния :

..........................
var xmlDocument : TxmlDocument;
..................................
xmlDocument := TXmlDocument.Create(nil);
xmlDocument.FileName :='.\Xml\File.xml';
xmlDocument.DOMVendor := GetDomVendor('MSXML');
xmlDocument.Active := true;
//Test Ei tuka gyrmi
ShowMessage(xmlDocument.DocumentElement.ChildNodes [0].ChildNodes[0].Text);
..........................................


Този код се намира в клас ,който от своя страна се намира в DLL , която пък се достъпва от .EXE.
Когато се изпълни , програмата гърми еи тука :
ShowMessage(xmlDocument.DocumentElement.ChildNodes [0].ChildNodes[0].Text;
и то точно в DocumentElement /който би трябвало да съсържа root node на XML файла/.
Абсолютно същия код, разписан във форма /дори и във форма намираща се във същия DLL / се изпълнява без никакъв проблем ...Но когато се изпълнява така както аз искам /като метод на различен от TForm1 клас/ гърми с EAccessViolation exception at address ..................
Някой може ли да ми каже къде е проблема ?

П.С. Става въпрос за Delphi 7

Благодаря предварително !

Отговор
в отговор на БOИЛ #2

Re: Проблем->Delphi 7->TXmlDocument->DocumentElement

xml.Active := True;
xml.LoadFromFile('ФАЙЛЧЕ.ХМЛ');

Проблема е че нямаш "РООТ"

Първо, това че си указал в пропертито името на файла не значи че си го заредил в паметта. А ако ще боравиш с нов документ, трябва да създадеш РООТ-а, и да добавяш елементи и т.н.

Отговор