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

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

RSS XMLDoc не обновляется :( [D7]


jcrush ©   (2005-07-14 08:28:00) 

Вот код dll которая должна парсить инетовский RSS через XMLDocument, косяк в том, что первый раз я документ получаю правильно, далее нажимаю на другую RSS ссылку но она не открывает, единственное если форму уничтожить и создать тогда список предыдущего RSS локумента очищается и загружается тот что надо, но это не дело, не могу понять почему :(

uses ExtActns; //to be able to iuse TDownLoadURL

function DownloadURLFile(const ADPXMLBLOG, ADPLocalFile : TFileName) : boolean;
begin
 Result:=True;

 with TDownLoadURL.Create(nil) do
 try
   URL:=form1.bdmemo.SelText;
   Filename:=ADPLocalFile;
   try
     ExecuteTarget(nil);
   except
     Result:=False;
   end;
 finally
   Free;
 end;
end;

procedure TForm1.ToolButton1Click(Sender: TObject);

var
 ADPLocalFile : TFileName;

 StartItemNode : IXMLNode;
 ANode : IXMLNode;
 STitle, sDesc, sLink : widestring;
begin

 ADPLocalFile := IncludeTrailingPathDelimiter(ExtractFilePath(Application.ExeName)) + 'temp.adpheadlines.xml';

 Screen.Cursor:=crHourglass;
 try
   if not DownloadURLFile(form1.bdmemo.SelText, ADPLocalFile)  then
   begin
     Screen.Cursor:=crDefault;
     Raise Exception.CreateFmt('Unable to connect to the Internet, make sure you are connected!',[]);
     Exit;
   end;

   if not FileExists(ADPLocalFile) then
   begin
     Screen.Cursor:=crDefault;
     raise exception.Create('Can''t locate the *headlines* file?!');
     Exit;
   end;

   form1.lv.Clear;
   form1.XMLDoc.FileName := ADPLocalFile;
     form1.XMLDoc.Active:=True;

   StartItemNode:=  form1.XMLDoc.DocumentElement.ChildNodes.First.ChildNodes.FindNode('item');
   ANode := StartItemNode;
   repeat
     STitle := ANode.ChildNodes['title'].Text;
     sLink := ANode.ChildNodes['link'].Text;
     sDesc := ANode.ChildNodes['description'].Text;

     //add to list view
     with   form1.LV.Items.Add do
     begin
       Caption := STitle;
       SubItems.Add(sLink);
       SubItems.Add(sDesc)
     end;

     ANode := ANode.NextSibling;
   until ANode = nil;
 finally
  DeleteFile(ADPLocalFile);
   Screen.Cursor:=crDefault;
 end;
end;


jcrush   (2005-07-14 12:14:00) [1]

что никто не подскажет?


Наверх

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