Проблем->Delphi 7->TXmlDocument->DocumentElement
1 отговора
106 прегледа
Проблем->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
Благодаря предварително !
Проблема е следния :
..........................
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
Благодаря предварително !
Re: Проблем->Delphi 7->TXmlDocument->DocumentElement
xml.Active := True;
xml.LoadFromFile('ФАЙЛЧЕ.ХМЛ');
Проблема е че нямаш "РООТ"
Първо, това че си указал в пропертито името на файла не значи че си го заредил в паметта. А ако ще боравиш с нов документ, трябва да създадеш РООТ-а, и да добавяш елементи и т.н.
xml.LoadFromFile('ФАЙЛЧЕ.ХМЛ');
Проблема е че нямаш "РООТ"
Първо, това че си указал в пропертито името на файла не значи че си го заредил в паметта. А ако ще боравиш с нов документ, трябва да създадеш РООТ-а, и да добавяш елементи и т.н.