Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2011.05.22;
Скачать: CL | DM;

Вниз

Вызов InternetSetStatusCallback из TThread   Найти похожие ветки 

 
TempUser142   (2011-02-16 01:13) [0]

Возникла интересная проблема. Есть кусок кода который отправляет файл на сервер с помощью WinInet. Для статуса загрузки используется InternetSetStatusCallback и моя произвольная callback функция. Отправка данных функцией HttpSendRequestEx.

При выполнении всего этого куска в основном потоке программы, проблем не возникает, всё работает как собсно и задумывалось. При попытке выполнить этот же код из TThread возникают какие-то непонятные явления. Прогресс доходит примерно до 30% и всё замирает. Попробовать пошаговую отладку, дошёл до первого входа в мою callback ф-ю и с этого момента выхожу из пошагового выполнения кода и запускаю нормальное выполнение, всё работает нормально. Если же выхожу из пошагового режима до первого запуска callback ф-и то опять всё замирает, т.е. не работает как надо.

Нашёл какие то обрывки упоминания о том что InternetSetStatusCallback создаёт отдельный поток http://stackoverflow.com/questions/1977212/asynchronous-request-using-wininet. Но как это увязать с моей задачей ума не хватает.. Кусок кода отправки файла на сервер взят с этого примера http://forum.vingrad.ru/forum/topic-186678/kw-wininet-tmfwihttp-http-client.html.

Подскажите пожалуйста знающие люди как подружить этот пример с TThread


 
clickmaker ©   (2011-02-16 01:31) [1]

а нужно именно в потоке?
InternetOpen(...,INTERNET_FLAG_ASYNC) не поможет?


 
TempUser142   (2011-02-16 17:17) [2]

Без потока никак.. INTERNET_FLAG_ASYNC результата никакого не дал..



Страницы: 1 вся ветка

Текущий архив: 2011.05.22;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.007 c
1-1254548466
newbart
2009-10-03 09:41
2011.05.22
Меню для TMemo, TEdit


15-1297114175
Юрий
2011-02-08 00:29
2011.05.22
С днем рождения ! 8 февраля 2011 вторник


2-1297500327
Fil-23
2011-02-12 11:45
2011.05.22
Привести в нормальный вид синтаксис


1-1248264361
Enlight
2009-07-22 16:06
2011.05.22
Иконка на таскбаре для каждой формы приложения


6-1236800865
Дмитрий Белькевич
2009-03-11 22:47
2011.05.22
Не меняется порт в TIdSyslogServer (или скорее TIdUDPServer)