Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

TXMLDocument в RUNTIME [D2005, XP]


Страницы:   1 2 3 4

Димон ©   (2008-05-24 13:26:00) 

Помогите разобраться ... Когда бросаю компонент TXMLDocument на форму и выполняю эту функцию, функция отрабатывает нормально. Когда убираю компонент из формы и создаю его в ручную, через XMLDoc := TXMLDocument.Create(nil)  - То функция отрабатывает с ошибками ...
Ошибка при чтении записей ...

function fFinde (Value : WideString) : WideString;
Var
 i:integer;
 XMLDoc : TXMLDocument;
begin
try
   XMLDoc := TXMLDocument.Create(nil);
   XMLDoc.LoadFromFile('C:\1.xml');
   XMLDoc.Active := True;

   for i := 0 to XMLDoc.ChildNodes['Records'].ChildNodes.Count - 1 do
   begin      
 ShowMessage(XMLDoc.ChildNodes['Records'].ChildNodes[i].ChildNodes['Item'].Text);
   end;

finally
 XMLDoc.Free;
end;
end;


Reindeer Moss Eater   (2008-05-24 14:37:00) [61]

Хелп читать надо, вот что надо делать.
Если в конструктор передан нил то возвращается чисто интерфейсная ссылка а не объектная. И фри ей делать не надо.


Димон   (2008-05-24 14:20:00) [62]

Да вы правы, я позже понял что владельца я немогу передавать .. Сейчас сижу не знаю что делать, читаю хелп но ничего не догоняю.


sniknik   (2008-05-24 14:18:00) [63]

> Да, 2 конструктора .. В моем случаи оба не работают ...
не может такого быть. может ты им зарплату не платишь? вот и не хотят работать. так и говорят - "не хотим работать"?
(судя по всему про написанное про ошибки было проигнорировано)

> Понял, XMLDoc := TXMLDocument.Create(Self);
> Проблема решена ... ))
хм... а от чего Self то? ->
> function <????.>fFinde (Value : WideString) : WideString;
нету.

я то как раз думал, что цель работать без владельца, т.к. это "чистая" функция а не метод класса.


Димон   (2008-05-24 14:07:00) [64]

Понял, XMLDoc := TXMLDocument.Create(Self);
Проблема решена ... ))


Плохиш   (2008-05-24 13:57:00) [65]


> Димон   (24.05.08 13:56) [2]
> Да, 2 конструктора .. В моем случаи оба не работают

тебе не повезло...


Плохиш   (2008-05-24 13:56:00) [66]


>    XMLDoc.LoadFromFile('C:\1.xml');
>     XMLDoc.Active := True;

Советую всё-таки прочитать справку по LoadFromFile.


Димон   (2008-05-24 13:56:00) [67]

Да, 2 конструктора .. В моем случаи оба не работают ...


sniknik   (2008-05-24 13:46:00) [68]

> То функция отрабатывает с ошибками ...
ошибки они не просто так, в них обычно бывает указание чего неправильно/нехватает.

> XMLDoc := TXMLDocument.Create(nil);
посмотри исходники компонента, там 2 конструктора, причем второй введен для возможности создать компонент с владельцем = nil... (имхо, но по моему там это все очевидно)


Страницы:   1 2 3 4

Наверх

Титульная страница Поиск, карта сайта Написать письмо