Доброго времени суток, программеры. Опять понадобилась ваша помощь.
| Код | procedure TrayWeather(kod: string); var name, t, d, v, o: string; begin
// показать погоду в трее
// проверка на наличие соединения
if ((RasConnectionCount=0) and (OptForm.ProxyCheckBox.Checked=false)) then ShowMessage('Отсутствует соединение с Интернетом.'+#13#10+'Подключите Интернет и повторите попытку.') else begin // есть Инет // выкачиваем xml по коду выбранного города if OptForm.ProxyCheckBox.Checked=false then begin MainForm.XMLDocument1.LoadFromFile('http://rp5.by/xml/'+kod+'/ru'); MainForm.XMLDocument1.Active:=true; end else begin MainForm.HttpCli1.Proxy:=OptForm.ProxyAdrEdit.Text; MainForm.HttpCli1.ProxyPort:=OptForm.ProxyPortEdit.Text; MainForm.HttpCli1.URL:='http://rp5.by/xml/'+kod+'/ru'; MainForm.HttpCli1.RcvdStream:=TMemoryStream.Create; MainForm.HttpCli1.Get; MainForm.HttpCli1.RcvdStream.Seek(0,0); MainForm.XMLDocument1.LoadFromStream(MainForm.HttpCli1.RcvdStream); MainForm.XMLDocument1.Active:=true; MainForm.HttpCli1.RcvdStream.Free; end; // парсим полученный файл // название города name:=MainForm.XMLDocument1.DocumentElement.ChildNodes[0].ChildNodes[4].Text; // облачность в процентах o:=MainForm.XMLDocument1.DocumentElement.ChildNodes[0].ChildNodes[10].ChildNodes[4].Text; o:='Облачность '+o+'%'; // давление в миллиметрах ртутного столба d:=MainForm.XMLDocument1.DocumentElement.ChildNodes[0].ChildNodes[10].ChildNodes[6].Text; d:='Давление '+d+'мм.рт.ст.'; // температура в градусах по цельсию t:=MainForm.XMLDocument1.DocumentElement.ChildNodes[0].ChildNodes[10].ChildNodes[7].Text; if strtoint(t)<0 then t:='Температура '+t+'°C' else t:='Температура +'+t+'°C'; // влажность воздуха в процентах v:=MainForm.XMLDocument1.DocumentElement.ChildNodes[0].ChildNodes[10].ChildNodes[8].Text; v:='Влажность воздуха'+v+'%'; end; MainForm.CoolTrayIcon.ShowBalloonHint('Погода в городе '+name, t+#13+o+#13+d+#13+v, bitInfo, 10);
end;
|
При вызове события (наведение курсора мыши на икону в трее) прога вылетает с ошибкой EHTTPException 'HTTP component HttpCli1 is busy'
Как избежать этой ошибки? |