Witam,
jesli poloze na formie komponent XML z zakladki internet to taki oto kod dziala bez problemu.
XMLDocument1.FileName := 'jakis_adres_www';
XMLDocument1.Active:=True;
for i := 0 to XMLDocument1.DocumentElement.ChildNodes.Count - 1 do
begin
showmessage(XMLDocument1.DocumentElement.ChildNodes[i].LocalName);
Memo1.Lines.Add('+++'+XMLDocument1.DocumentElement.ChildNodes[i].LocalName);
for j := 0 to XMLDocument1.DocumentElement.ChildNodes[i].ChildNodes.Count-1 do
Memo1.Lines.Add(format('%s=%s',
[XMLDocument1.DocumentElement.ChildNodes[i].ChildNodes[j].LocalName,
XMLDocument1.DocumentElement.ChildNodes[i].ChildNodes[j].NodeValue]));
end;
powyzszy kod chcialem umiescic w watku bez umieszczania komponentu na formie, zrealizowalem to w nastepujacy sposob:
xml2 := Txmldocument.Create(nil);
try
XML2.FileName := 'jakis_adres_www';
XML2.Active:=True;
for i := 0 to XML2.DocumentElement.ChildNodes.Count - 1 do
begin
showmessage(XML2.DocumentElement.ChildNodes[i].LocalName);
Memo1.Lines.Add('+++'+XML2.DocumentElement.ChildNodes[i].LocalName);
for j := 0 to XML2.DocumentElement.ChildNodes[i].ChildNodes.Count-1 do
Memo1.Lines.Add(format('%s=%s',
[XML2.DocumentElement.ChildNodes[i].ChildNodes[j].LocalName,
XML2.DocumentElement.ChildNodes[i].ChildNodes[j].NodeValue]));
end;
finally
XML2.Free;
end;
program sie kompiluje, ale podczas wykonywania tego kody wyskakuje blad:
Debbuger Exception Notification: Project raised exception class EAccsessViolation with message 'Access violation at adress [..]' Process stoped [..]
jakies pomysly dlaczego tak sie dzieje