Я начал использовать компоненты Overbyte, раньше использовал Indy, но проблема блокировки заставила меня искать что-то еще, поэтому я нашел ICS, но в этом примере код:
HTTPAsync
Он создает новый компонент HTTPCli для каждой ссылки внутри списка, но когда я немного изменяю код:
procedure THttpAsyForm.HttpCli1DocData(Sender: TObject; Buffer: Pointer;
Len: Integer);
var
AHttpCli : THttpCli;
begin
if not DataCheckBox.Checked then
Exit;
AHttpCli := Sender as THttpCli;
{ Display a message stating that data is available }
DisplayMemo.Lines.Add('Item ' + IntToStr(AHttpCli.Tag) + ' Data');
{ We could display the data, but it use a huge space in the display }
DisplayMemo.Lines.Add(StrPas(Buffer));
if something then <--- CODE I ADDED
ListBox1.items.add(AHttpCli.URL); <--- CODE I ADDED
{ We could also store the data somewhere (with the help of OnDocBegin }
{ and OnDocEnd events. Or using the RcvdStream property. }
end;
Когда я добавляю 10 ссылок, он иногда добавляет дубликаты в список или с одной ссылкой добавляет двете же ссылки на список.Как я могу исправить это, чтобы не показывать дубликаты. Моя идея состояла в том, чтобы поместить это в tstringlist и проверить дубликаты и удалить их.
Есть ли другой способ. Спасибо