Программно созданный объект TXMLDocument не анализируется - PullRequest
0 голосов
/ 08 июня 2019

Когда я создаю объект TXMLDoucument с конструктором с путем к файлу, он не анализируется, и я получаю «Недопустимая операция с указателем» при выполнении следующего кода.

void __fastcall TForm1::Button1Click(TObject *Sender)
    {
     String filePath="C:\\Users\\Maksim\\Documents\\SteelList.xml";       
     TXMLDocument* xmlDoc=new TXMLDocument(filePath);        
     xmlDoc->DOMVendor=GetDOMVendor("MSXML");        
     xmlDoc->Active=true;        
     String nodeName=xmlDoc->DocumentElement->GetNodeName();       
     ShowMessage(nodeName);      
    }

Однако, когда я создаю объект TXMLDocument с конструктором с параметром Owner, следующий код работает нормально.

void __fastcall TForm1::Button1Click(TObject *Sender)
{
 String filePath="C:\\Users\\Maksim\\Documents\\SteelList.xml";    
 TXMLDocument* xmlDoc=new TXMLDocument(this);    
 xmlDoc->FileName=filePath;    
 xmlDoc->DOMVendor=GetDOMVendor("MSXML");    
 xmlDoc->Active=true;    
 String nodeName=xmlDoc->DocumentElement->GetNodeName();    
 ShowMessage(nodeName);    
} 
...