Главная страница
    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.032 c
14-1108368694
stone
2005-02-14 11:11
2005.03.06
Lord of The Rings: Battle for middle Earth


1-1108979223
Igor_thief
2005-02-21 12:47
2005.03.06
Продолжение темы Вирус


14-1108257585
VID
2005-02-13 04:19
2005.03.06
Небольшая проблемка с XP


14-1108390461
Kubic
2005-02-14 17:14
2005.03.06
подскажите компанент


1-1108849319
TheEd
2005-02-20 00:41
2005.03.06
Глюк - TStrings.AddObject(TObject(-1))





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский