以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  代码只能执行一次是为什么?  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=93253)

--  作者:bobolan521
--  发布时间:2016/11/23 20:27:00
--  代码只能执行一次是为什么?
For i As Integer = 0 To Tables("cc").Rows.Count -1
    Dim lbl As WinForm.WebBrowser
    lbl = e.Form.CreateControl("lable1", ControlTypeEnum.WebBrowser)
    lbl.Left = 100
    lbl.Top = 100 + i*150
    e.Form.AddControl(lbl)
    lbl.Address = "http://192.168.1.204:90/c/example/m.php?aa=" & Tables("cc").Rows(i)("touser")
Next
以上代码,项目打开后点击按钮就可以正常执行,但只能执行一次,要想执行第二次必须重新打开一次项目,请问一下
老师是什么原因

下面这段代码就可以正常执行多次,但是用额外打开的浏览器了,请问一下我这两段代码该如何优化一下,我只想执行一下URL

For i As Integer = 0 To Tables("cc").Rows.Count -1
Dim Proc As New Process \'定义一个新的Process
Proc.File =  "http://192.168.1.204:90/c/example/m.php?aa=" & Tables("cc").Rows(i)("touser")
Proc.Start()
Next
[此贴子已经被作者于2016/11/23 20:27:26编辑过]

--  作者:有点蓝
--  发布时间:2016/11/23 20:50:00
--  
每行数据都创建一个浏览器控件?如果有1000行数据,要创建1000个浏览器控件?看的过来吗,窗口得卡死

e.Form.ClearControl
For i As Integer = 0 To Tables("cc").Rows.Count -1
    Dim lbl As WinForm.WebBrowser
    lbl = e.Form.CreateControl("lable1", ControlTypeEnum.WebBrowser)
    lbl.Left = 100
    lbl.Top = 100 + i*150
    e.Form.AddControl(lbl)
    lbl.Address = "http://192.168.1.204:90/c/example/m.php?aa=" & Tables("cc").Rows(i)("touser")
Next

--  作者:bobolan521
--  发布时间:2016/11/23 20:59:00
--  
老师,按照你修改的代码,还是只能执行一次,我表里就只有2行记录,必须重新进项目,执行后才能用
我只是想执行"http://192.168.1.204:90/c/example/m.php?aa=" & Tables("cc").Rows(i)("touser") 这句URL
[此贴子已经被作者于2016/11/23 21:03:24编辑过]

--  作者:有点蓝
--  发布时间:2016/11/23 21:09:00
--  
我测试没有问题。

执行第二次有什么错误,上例子看看

--  作者:bobolan521
--  发布时间:2016/11/23 21:17:00
--  
Dim wb1 As WinForm.WebBrowser = e.Form.Controls("WebBrowser1")

Dim s As String
For Each r As Row In Tables("cc").Rows
    s=s & r("touser") & "|"
    
Next
s = s.Trimend("|")
wb1.Address = "http://192.168.1.204:90/c/example/m.php?aa=" & s

老师我把代码优化成这样了,这样第一次也可以执行,但执行第二次,就不可以,也没有任何错误提示,
必须重新打开项目才可以执行,感觉好像项目打开一次就只能执行一次似的
是不是狐表内置的浏览器要重置一下

用下面这段就可以每次都去执行
Dim s As String
For Each r As Row In Tables("cc").Rows
    s=s & r("touser") & "|"  
Next
s = s.Trimend("|")
Dim Proc As New Process \'定义一个新的Process
Proc.File =  "http://192.168.1.204:90/c/example/m.php?aa=" & s
Proc.Start()
但就是会打开浏览器


[此贴子已经被作者于2016/11/23 21:34:01编辑过]

--  作者:有点蓝
--  发布时间:2016/11/23 21:33:00
--  
那就是你网站的问题了。用百度或者其它网址有没有问题?
--  作者:bobolan521
--  发布时间:2016/11/23 21:35:00
--  
Dim s As String
For Each r As Row In Tables("cc").Rows
    s=s & r("touser") & "|"  
Next
s = s.Trimend("|")
Dim Proc As New Process \'定义一个新的Process
Proc.File =  "http://192.168.1.204:90/c/example/m.php?aa=" & s
Proc.Start()

这段就可以一直点击按钮执行啊

网址没问题 的直接把网址复制的浏览器中,不断的刷新也可以执行的,刷新几次就执行几次
[此贴子已经被作者于2016/11/23 21:37:16编辑过]

--  作者:有点蓝
--  发布时间:2016/11/23 21:38:00
--  
用百度或者其它网址有没有问题?