Перейти к содержанию
Fire Monkey от А до Я
  • 0

THTTPClient асинхронный режим


Евгений Корепов

Вопрос

Пытаюсь приручить THTTPClient в асинхронном режиме работы. Все работает чудесно, в некоторых проектах смело выкидывается значительная часть кода - потоки, очереди, таймеры и прочее.

Но столкнулся с проблемой - есть десяток TImage, в которые нужно загрузить картинки скачанные по http (классическая задача с TListView к примеру). Вроде все хорошо, кроме идентификации закачанных картинок, закачка может завершится не в той последовательности, в которой она производилась, т.е. делаю десять вызовов FHTTPClient.BeginGet(DoEndDownload, URL, FDownloadStream), а в процедуре DoEndDownload получаю скачанную в FDownloadStream картинку. Как узнать к какому TImage относится скачанная картинка?

Ссылка на комментарий

Рекомендуемые сообщения

  • 0

Пока нашел только одно решение. Только для случая с TListView, и только с одной картинкой на ListViewItem. Да, и только для Tokyo (добавили TListViewItem.TagObject)

    AListItem:=ListView.Items.Add;
    AListItem.TagObject:=TMemoryStream.Create;
    FAsyncResponse := FHTTPClient.BeginGet(DoEndDownload, URL, AListItem.TagObject as TMemoryStream);

Т.е. MemoryStream, в который производится скачивание, мы создали в AListItem.TagObject, по окончании загрузки будем знать в какую картинку какого итема грузить .

 

Изменено пользователем Евгений Корепов
Ссылка на комментарий

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить на вопрос...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
×
×
  • Создать...