Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Общие вопросы > Ошибка при работе с Xml-файлом


Автор: _Rin 19.9.2006, 13:46
xml-файл имеет следующий вид:
Код

<?xml version="1.0" encoding="windows-1251" standalone="yes"?>
<data>
    <units>
        <textures>
            <item name="terra1" filename="nor-new1.jpg" format="0"/>
            <item name="terra2" filename="nor-new2.jpg" format="2"/>
            <item name="terra3" filename="nor-new3.jpg" format="1"/>
        </textures>
        <objects>
         ...
        </objects>
        <actors>
                 ...
        </actors>
        <worlds>
          ...    
        </worlds>
    </units>
</data>


Добавляю item в xml-файл в data->units->textures:
Код

procedure TSDIAppForm.Tex_addClick(Sender: TObject);
begin
 //ошибка в этой строке
 with XLL.ChildNodes['data'].ChildNodes['units'].ChildNodes['textures'].AddChild('item') do 
 begin
  Attributes['name']:=tex_name.Text;
  Attributes['filename']:=tex_filename.Text;
  Attributes['format']:=tex_format.Text;
 end;
 MessageDlg('Ok',mtConfirmation,[mbOk],0);
end;


Delphi показывает ошибку "Access violation at address ..."
Не понимаю, что не так.  smile 

Автор: _hunter 19.9.2006, 14:04
что такое XLL?

Автор: _Rin 19.9.2006, 14:08
XLL: IXMLNode;

Добавлено @ 14:09 
Код

Data: TXMLDocument;
...
Data.FileName := OpenDialog.FileName;
Data.Active := true;
XLL := Data.DocumentElement;

Автор: AriX 19.9.2006, 15:18
Код
with XLL.ChildNodes['data'].ChildNodes['units'].ChildNodes['textures'].AddChild('item') do 

убери .ChildNodes['data']

Автор: _Rin 19.9.2006, 15:33
Все равно пишет ошибку.
Там же и такую же.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)