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

C++Builder & TTask


antarey

Вопрос

Как в провести синхронизацию для задачи?
Есть NetHTTPClient

void __fastcall TfrmMain::NetHTTPClientReceiveData(TObject * const Sender, __int64 AContentLength, __int64 AReadCount, bool &Abort) {
    if (AContentLength > 0)
    {
        pbMain->Value = ((float)AReadCount / (float)AContentLength) * 100.f;
    } else pbMain->Value = AReadCount;

}
//--------------------------------------------------------------------
void __fastcall TfrmMain::SpeedButton1Click(TObject *Sender)
{
    _di_ITask tsLoadNewComp = TTask::Create([&](){
              std::auto_ptr<TStream> inputStream(new TFileStream(System::Ioutils::TPath::Combine(TDirectory::GetParent(ParamStr(0)), "index.dat"), fmCreate));
              NetHTTPClient->AcceptEncoding = "gzip, deflate";
              NetHTTPClient->Get("..............", inputStream.get());
    });
    tsLoadNewComp->Start();
}

Как сделать, чтобы в задаче tsLoadNewComp отрабатывалась процедура NetHTTPClientReceiveData?  

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

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

  • 0

TTask::Create и TTask::Run не сильно отличаются по реализации , но я так и не понял как синхронизировать событие компонента NetHTTPClient  внутри задачи 

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

ZuBy, ето я понимаю и ето все реализовано. Просто для NetHTTPClient есть событие NetHTTPClientReceiveData и оно не отрабатывается. Ето событие надо как-то подвязать через синхронизацию.

Ссылка на комментарий
  • 0
  • Модераторы
1 минуту назад, antarey сказал:

ZuBy, ето я понимаю и ето все реализовано. Просто для NetHTTPClient есть событие NetHTTPClientReceiveData и оно не отрабатывается. Ето событие надо как-то подвязать через синхронизацию.

для чего это событие используется?

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

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

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

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

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

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

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

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

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

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

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