If you don't get "Bingo".
Here's what you wrote the error message is:
audiopro said:
Still executing last request
So InetCtls.Inet is just saying it can't do your new OpenURL, becuase the previous request still isn't responded to and no timeout has yet occurred. You can then either use a new InetCtls.Inet instance or wait.
The reason the previous call didn't return a respond yet can be, it still takes time to work, or it errored and ended in a way not giving any response to the caller, to the oInet. You may set oInte.ResponseTimeout lower, but if it is too low, the normal time your perl scripts needs to process the file would perhaps cause the OpenURL call to return with timeout error. Then you also don't know, if your perl call was successfull in the end.
One way to cope with this is not reusing oINET and always using a fresh new instance of InetCtls.Inet to not have to wait for a previous call. I don't see how the error "Still executing last request" is a problem on the FoxPro side.
Is that helping a bit?
You may try the asynchronous approach und use MSXML2.XMLHTTP.6.0 or MSXML2.XMLHTTP.3.0 instead of InetCtls.Inet
Code:
loRequest = Createobject('MSXML2.XMLHTTP.6.0') && use 3.0 istead of 6.0 if your Windows version doesn't have MSXML6
lcReply = oInet.OpenURL("[URL unfurl="true"]http://www.mysite.co.uk/cgi-bin/httpreq.pl")[/URL]
loRequest.Open("GET", "[URL unfurl="true"]http://www.mysite.co.uk/cgi-bin/httpreq.pl",[/URL] .T.)
loRequest.Send(.NULL.)
DO WHILE loRequest.ReadyState # 4
DOEVENTS FORCE
ENDDO
If the problem is the webserver doesn't respond, this code will get stuck in the while loop. And then you can be sure the problem is on the server side, and if it's not your script it's MySQL or the webserver itself.
Also the MSXML2.XMLHTTP.6.0 has it's timeouts, it has a method setTimeouts, which sets 4 timeouts, for url adress resolving, connecting, sending and receiving, so the 4th timeout is interesting to set it higher (or lower) and test what's going on server side.
There also are webserver side timouts, that may apply. If your file is larger and perl or MySQL are not that fast, you might get into a state the timeout applies and you get no graceful end of your request with a good response.
Even if there is no error in your perl and your file and mysql and the web server, that timout may bite you.
Bye, Olaf.