Witam
Mam problem ze zmiana kanału czytnika RSS tzn. czytnik ma pobierać informacje z 3 niezależnych kanałów określonych w editach. Linki ładowane sa do kodu jako zmienna typu string, jednak podczas działania programu gdy raz określę link nie mam możliwości zmiany kanału, ponieważ calu czas ładowny jest kanał wybrany jako pierwszy, siedzę z tym już kilka godzin i pomysły mi się skończyły wiec proszę o wskazanie gdzie tkwi błąd.
Poniżej kod.
Link:string;
function DownloadURLFile(const ADPXMLBLOG, ADPLocalFile : TFileName): boolean;
begin
Result:=True;
with TDownLoadURL.Create(nil) do
try
URL:=Link;
Filename:=ADPLocalFile;
try
ExecuteTarget(nil);
except
Result:=False;
end;
finally
Free;
end;
end;
procedure TKomunikacja.wiadomosciRSS(wiadomosciRSS: boolean);
var
ADPLocalFile : TFileName;
StartItemNode : IXMLNode;
News : IXMLNode;
STitle, sDesc : widestring;
begin
if RSS2.Checked then
begin
ListBox1.Clear;
Linki := TStringList.Create;
Tresci := TStringList.Create;
ADPLocalFile := IncludeTrailingPathDelimiter(ExtractFilePath(Application.ExeName)) + 'temp.adpheadlines.xml';
Screen.Cursor:=crHourglass;
try
if not DownloadURLFile(Link, ADPLocalFile) then
begin
Wlasciwosci.Log ('Brak polaczenia z internetem');
Exit;
end;
ListBox1.Clear;
XMLDoc.FileName := ADPLocalFile;
XMLDoc.Active:=True;
StartItemNode:=XMLDoc.DocumentElement.ChildNodes.First.ChildNodes.FindNode('item');
News := StartItemNode;
repeat
sTitle := news.ChildNodes['title'].Text;
sDesc := news.ChildNodes['description'].Text;
ListBox1.Items.Add(STitle);
Tresci.Add(sDesc);
news := news.NextSibling;
until news = nil;
finally
DeleteFile(ADPLocalFile);
Screen.Cursor:=crDefault;
end;
end;
end;
procedure TKomunikacja.ListBox1Click(Sender: TObject);
begin
reText.Lines.Clear;
reText.Lines.Add(Tresci[ListBox1.ItemIndex]);
end;
procedure TKomunikacja.Pogoda1Click(Sender: TObject);
begin
Link:= Edit1.text;
wiadomosciRSS(true);
end;
procedure TKomunikacja.Lokalne1Click(Sender: TObject);
begin
Link:= Edit2.text;
wiadomosciRSS(true);
end;
procedure TKomunikacja.Swiat1Click(Sender: TObject);
begin
Link:= Edit3.text;
wiadomosciRSS(true);
end;
end.