http://bugs.winehq.org/show_bug.cgi?id=27927
Summary: Winhttprequest WaitForResponse should process messages Product: Wine Version: 1.3.25 Platform: x86 URL: http://netikka.net/dev/winhttpwait.exe OS/Version: Linux Status: UNCONFIRMED Severity: normal Priority: P2 Component: winhttp AssignedTo: wine-bugs@winehq.org ReportedBy: ocean04@suomi24.fi
Allows application to respond user action while waiting. For example cancel button.
Example: http://netikka.net/dev/winhttpwait.exe
Click "download". There is time counter, but counter doesn't work. Same thing with cancel button. Also request should timeout in 30 seconds, but it doesn't?
(Url is just some large exe-file, easier to reproduce problem also using fast internet connection)
begin cancel:=false; fhttp:=createoleobject('WinHttp.WinHttpRequest.5.1'); fhttp.open('GET', edit1.text, true); fhttp.send(); // waiting 30 seconds or user cancel. for i:=1 to 30 do begin if fhttp.WaitForResponse(1) then break; application.processmessages; label6.caption:='Time: '+inttostr(i); if (i=30) or (cancel=true) then begin if i=30 then showmessage('Timeout') else showmessage('User cancel'); fhttp.Abort; fhttp:=unassigned; exit; end; end; memo1.text:=fhttp.Responsetext; ... ... end;
procedure TForm1.Button3Click(Sender: TObject); begin cancel:=true; end;