Динамическое создание TXMLDocument в Builder
От: SEDEGOFF Россия www.srcsoft.com
Дата: 20.08.04 04:37
Оценка:
Есть такое код
TXMLDocument *doc = new TXMLDocument("");
doc->DOMVendor = GetVendor("MSXML");
doc->LoadFromFile("c:\\temp\\test.xml");
doc->Active = true;
//вот эта строка вызывает AccessVialation
doc->ChilNodes->Nodes[1]->ChildNodes[1]->Nodes[1]->GetText;

Собственно в чем проблема. Когда кидаещь на форму этот объект все нормально. Смотрю в отладчике — у динамически созданного объекта не определены некоторые свойста (то есть стоит NULL, в частности XML). В то время как у статически созданного объекта все нормально. Пробывал эти свойства определять — ничего не изменилось.
Вопрос собственно в следующем — как создавать динамически объект этого класса и работать с ним?
... << RSDN@Home 1.1.3 stable >>
Re: Динамическое создание TXMLDocument в Builder
От: TObject Россия  
Дата: 20.08.04 06:29
Оценка:
Здравствуйте, SEDEGOFF, Вы писали:

SED>Есть такое код

SED>
SED>TXMLDocument *doc = new TXMLDocument("");
doc->>DOMVendor = GetVendor("MSXML");
doc->>LoadFromFile("c:\\temp\\test.xml");
doc->>Active = true;
SED>//вот эта строка вызывает AccessVialation
doc->>ChilNodes->Nodes[1]->ChildNodes[1]->Nodes[1]->GetText;
SED>

SED>Собственно в чем проблема. Когда кидаещь на форму этот объект все нормально. Смотрю в отладчике — у динамически созданного объекта не определены некоторые свойста (то есть стоит NULL, в частности XML). В то время как у статически созданного объекта все нормально. Пробывал эти свойства определять — ничего не изменилось.
SED>Вопрос собственно в следующем — как создавать динамически объект этого класса и работать с ним?
Есть такая тема.
Надо вот так (кстати вендор по умолчанию MSXML)

  DocXML: IXMLDocument;
  .....
    DocXML:=TXMLDocument.Create(nil);
  DocXML.XML.Clear;
  DocXML.Active:=true;
  DocXML.LoadFromFile(FileName);
  DocXML.Encoding:='windows-1251';
  ...etc
... << RSDN@Home 1.1.4 @@subversion >>
Re[2]: Динамическое создание TXMLDocument в Builder
От: Eldorado  
Дата: 19.03.05 11:28
Оценка:
Здравствуйте, TObject, Вы писали:

TO>Здравствуйте, SEDEGOFF, Вы писали:


SED>>Есть такое код

SED>>
SED>>TXMLDocument *doc = new TXMLDocument("");
doc->>>DOMVendor = GetVendor("MSXML");
doc->>>LoadFromFile("c:\\temp\\test.xml");
doc->>>Active = true;
SED>>//вот эта строка вызывает AccessVialation
doc->>>ChilNodes->Nodes[1]->ChildNodes[1]->Nodes[1]->GetText;
SED>>

SED>>Собственно в чем проблема. Когда кидаещь на форму этот объект все нормально. Смотрю в отладчике — у динамически созданного объекта не определены некоторые свойста (то есть стоит NULL, в частности XML). В то время как у статически созданного объекта все нормально. Пробывал эти свойства определять — ничего не изменилось.
SED>>Вопрос собственно в следующем — как создавать динамически объект этого класса и работать с ним?
TO>Есть такая тема.
TO>Надо вот так (кстати вендор по умолчанию MSXML)

TO>
TO>  DocXML: IXMLDocument;
TO>  .....
TO>    DocXML:=TXMLDocument.Create(nil);
TO>  DocXML.XML.Clear;
TO>  DocXML.Active:=true;
TO>  DocXML.LoadFromFile(FileName);
TO>  DocXML.Encoding:='windows-1251';
TO>  ...etc
TO>


В C++Builder это не работает.У IXMLDocument нет свойства Active и т.д.
Re[3]: Динамическое создание TXMLDocument в Builder
От: Mamut Швеция http://dmitriid.com
Дата: 19.03.05 14:51
Оценка:
E>В C++Builder это не работает.У IXMLDocument нет свойства Active и т.д.

Смотреть в Help. Там надо создавать что-то вроде _di_xmlDoc *doc; и работать с ним через doc -> LoadFromFile()
... << RSDN@Home 1.1.4 beta 4 rev. 0>> ... <<Winamp is playing "Bach — Toccata and Fugue in D Minor (Phantom of the Opera) cathe


dmitriid.comGitHubLinkedIn
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.