I would say some kind of "system" refresh is what you need there - SystemWait() ?
However, TEasyCurl is synchronous, so you are going to have issues like this. How's about using the A-synchronous TCurlMulti instead? Rather than waiting until the transfer is finished, it kicks *them* off in the background and relies on you to keep an eye on how they are doing, rather than the other way around.
From the ex_05 example, the main loop looks a bit like this :
You could stick this on a quick-firing timer, which would mean that your "main" event loop could happily update the UI like normal.
However, TEasyCurl is synchronous, so you are going to have issues like this. How's about using the A-synchronous TCurlMulti instead? Rather than waiting until the transfer is finished, it kicks *them* off in the background and relies on you to keep an eye on how they are doing, rather than the other way around.
From the ex_05 example, the main loop looks a bit like this :
Local status:Int = multi.multiPerform(running) While status = CURLM_CALL_MULTI_PERFORM status = multi.multiPerform(running) Wend While running And status = CURLM_OK ' wait for network If multi.multiSelect() <> -1 Then ' pull in any new data, or at least handle timeouts status = multi.multiPerform(running) While status = CURLM_CALL_MULTI_PERFORM status = multi.multiPerform(running) Wend End If Wend
You could stick this on a quick-firing timer, which would mean that your "main" event loop could happily update the UI like normal.