INET同步调用的疑问

microsy 2007-10-19 07:59:50
有一个定时心跳的程序,使用INET 的OPENURL 直接GET, 将其放在TIMER中
在多次执行后,就报如下错 35764 Inet 仍在执行上一请求,
改成如下还是会报错
'in Timer
inet1.OpenURL(****)
inet1.Cancel
因为身边没有VB6的MSDN
正好在CSDN BLOG有一篇文章写 MSDN上说 OPENURL是同步调用, EXECUTE才是异步调用,

论坛又看了一下,有些文章说 要使用 StillExecuting 来判断,如下
If Inet1.StillExecuting Then
DoEvents
End If

奇怪,既然是同步调用, 如果inet StillExecuting 就根本不会返回,又怎么会在 StillExecuting 时返回
从而造成重复调用 而报错呢? 而且Timer好象也不是多线程~
请解惑,多谢
...全文
68 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
caterp 2007-10-20
  • 打赏
  • 举报
回复
估计你使用了time,重复执行,
如果用time的话,可以这样
dim a as ineger
if a=0 then
a=1
inet1.OpenURL(****)
a=0'程序调用完成后重置
end if
提供一个思路,可以自己灵活变通下
microsy 2007-10-19
  • 打赏
  • 举报
回复
但我现在是同步调用啊 openurl() ,为什么会 报错呢
35764 Inet 仍在执行上一请求
zzyong00 2007-10-19
  • 打赏
  • 举报
回复
异步调用才用inet.StillExecuting

1,502

社区成员

发帖
与我相关
我的任务
社区描述
VB 网络编程
社区管理员
  • 网络编程
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧