Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2005.03.06;
Скачать: [xml.tar.bz2];

Вниз

TXMLDocument. Вылетает ошибка при завершении программы   Найти похожие ветки 

 
ionn   (2005-02-20 22:45) [0]

Здрасьте,

Написал процедуру, она читает ХМЛ файл,
в начале поставил
TXMLDocument.Active:= true
...
считываю
...
Active:=false; //<-Так вот на этой строчке прога вылетает, я её убрал, теперь прога вылетает при закрытии.

Как избавиться? И вообще я правильно использую этот Актив?


 
GanibalLector ©   (2005-02-20 22:51) [1]

>TXMLDocument
Это ШО такое компонент?
По сабжу: в nil его или в Unassigned попробуй


 
Eraser ©   (2005-02-20 22:53) [2]

ionn
Вылетает ошибка при завершении программы


Услуги телепатов не на этом сайте!
Приводи название и код ошибки, и желательно участок кода.


 
ionn   (2005-02-20 22:58) [3]

Это компонент для работы с XML файлами.

Ошибка:
Exception EAccessViolation in module Project1.exe at 00006594.
Access violation at addres 00406594 in module Project1.exe. Read of address 00000008.


 
Eraser ©   (2005-02-20 23:00) [4]

ionn
Уже что-то. Обращение по несуществующему адресу.
Теперь попробуй нажать F9 и посмотреть в каком участке кода остановиться отладчик во время этой ошибки.
Ты вообще знаком с отладчиком? )


 
ionn   (2005-02-20 23:05) [5]

В файле проекта, на строке
end.
вываливается.


 
Eraser ©   (2005-02-20 23:06) [6]

Понятно! Попробуй в форме в событии OnClose вписать
XMLDocument.Free;
не забудь Action:=caFree;


 
Eraser ©   (2005-02-20 23:07) [7]

А лучше приведи код.


 
ionn   (2005-02-20 23:08) [8]

после этого по F7 проходит еще по
finalization модулей GDIOBJ и DirectDraw


 
Eraser ©   (2005-02-20 23:12) [9]

ionn
после этого


Чего ЭТОГО?

finalization модулей GDIOBJ и DirectDraw

тут собака и порылась скорее всего...


 
ionn   (2005-02-20 23:12) [10]

Фрии не помагает

procedure cSystem.OpenConfig(name:string);
 var n,conf,node,nn,vr:IXMLNode;
     i,j:integer;
     setup:cSetup;
     s:^rStageParam;
     pr:^real; pi:^integer;      
 begin
      Form1.XML.Active:=true;
      n:=Form1.XML.DocumentElement;
      for i:=0 to n.ChildNodes.Count-1 do
      begin
           if n.ChildNodes[i].Attributes["name"]=name then
           begin
                conf:=n.ChildNodes[i];
                //AdvSetup
                node:=conf.ChildNodes["AdvSetup"];
                cAdvSetup(sp_setup[current]).s_okno:=YN(node.ChildValues["okno"]);
                cAdvSetup(sp_setup[current]).s_resu:=YN(node.ChildValues["resu"]);
                cAdvSetup(sp_setup[current]).s_dial:=YN(node.ChildValues["dial"]);
                //Meneger
                node:=conf.ChildNodes["Meneger"];
                meneger.Demo:=YN(node.ChildValues["demo"]);
                meneger.started:=YN(node.ChildValues["started"]);
                meneger.created:=YN(node.ChildValues["created"]);
                meneger.show_progress:=YN(node.ChildValues["progress"]);
             ....
               break;
           end;
      end;
      // - тута раньше было Active:=false
 end;

Если эту процедуру не вызывать, то всё нормально


 
ionn   (2005-02-20 23:13) [11]

ЭТОГО - это сообщение об ошибке


 
Eraser ©   (2005-02-20 23:16) [12]

ionn

А где ресурсы освобождаются? Типа n := null;


 
ionn   (2005-02-20 23:18) [13]

А они в деструкторе не должны освобождаться? который вывзывается самостоятельно при завершении программы или выходе из области видимости.
Или у меня не правильные предстваления о освобождении ресурсов?


 
Eraser ©   (2005-02-20 23:21) [14]

ionn

Честно говоря я с интерфейсами не часто сталкивался, но думаю дело всётаки не в них...

А они в деструкторе не должны освобождаться?

Именно из за этого и ошибка!
Советую протрэйсить модуль этого компонента.



Страницы: 1 вся ветка

Форум: "Основная";
Текущий архив: 2005.03.06;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.48 MB
Время: 0.036 c
14-1108634154
juice
2005-02-17 12:55
2005.03.06
Прокси со стороны сервера


9-1102282566
Domowoi
2004-12-06 00:36
2005.03.06
Облом с PowerDraw


1-1108598303
wsMaximized
2005-02-17 02:58
2005.03.06
wsMaximized


10-1085582560
Damager
2004-05-26 18:42
2005.03.06
Excel не закрывается


14-1108134070
Глюка
2005-02-11 18:01
2005.03.06
Язык , общество и религия





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский