Цитата:
Сообщение от lmikle
Ну смотри. Ты хочешь мониторить 16 камер. Т.о. тебе надо 16 потоков.
Каждый поток считывает картинку с одной камеры, отображает ее (не забываем синхронизацию), потом ждет, допустим, 1 секунду (sleep) и опять читает камеру. И так по кругу.
|
всё чётко, оно работает, я пытаюсь сказать следующее.
я засунул следующий код по каждой камере в таймер
Код:
label1.Caption:=inttostr(strint1);
MemoryStream:=TMemoryStream.Create;
JPEGImage1:=TJPEGImage.Create;
try
IdHTTP1.Get('http://cam.pddd.perm.ru:81/?c='+inttostr(strint1)+'', MemoryStream);
//label5.Caption:=IdHTTP1.Get;
MemoryStream.Position:=0;
JPEGImage1.LoadFromStream(MemoryStream);
// JPEGImage.LoadFromStream(MemoryStream);
Image1.Picture.Assign(JPEGImage1);
finally
// idHttp1.Free;
JPEGImage1.Free;
MemoryStream.Free;
end;
следующий момент , сделал что все эти камеры буду меняться по нажатию кнопки
Код:
strint1:=strint1+strtoint(edit1.text);
strint2:=strint2+strtoint(edit2.text);
strint3:=strint3+strtoint(edit3.text);
strint4:=strint4+strtoint(edit4.text);
strint5:=strint5+strtoint(edit5.text);
strint6:=strint6+strtoint(edit6.text);
strint7:=strint7+strtoint(edit7.text);
strint8:=strint8+strtoint(edit8.text);
strint9:=strint9+strtoint(edit9.text);
strint10:=strint10+strtoint(edit10.text);
strint11:=strint11+strtoint(edit11.text);
strint12:=strint12+strtoint(edit12.text);
strint13:=strint13+strtoint(edit13.text);
strint14:=strint14+strtoint(edit14.text);
strint15:=strint15+strtoint(edit15.text);
strint16:=strint16+strtoint(edit16.text);
короч к каждой камере прибавляю 16, будь то 500мс или 5 сек у таймера, всё работает отлично. но когда листаю так камеры, раз пять пролистав, тупо начинает виснуть программа. как понять что происходит.
ну а если ничего не делать (не листать никуда с самого начала) то я получаю изображения, всё гуд, но там камер куча и хочу поглядеть все будучи далеко от моего города. в чём подвох может быть?