以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  代码出错“未将对象引用设置到对象的实例” 请教错在那里?  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=28909)

--  作者:qctv
--  发布时间:2013/2/22 10:27:00
--  代码出错“未将对象引用设置到对象的实例” 请教错在那里?

Dim txt_addr As WinForm.TextBox = e.Form.Controls("TextBox1")
Dim Dom As System.Windows.Forms.HtmlDocument = e.Form.Controls("WebBrowser1").BaseControl.Document
Dim point_x As System.Windows.Forms.HtmlElement = Dom.GetElementById("point_x")
Dim x As String = point_x.GetAttribute("value")
Dim point_y As System.Windows.Forms.HtmlElement = Dom.GetElementById("point_y")
Dim y As String = point_y.GetAttribute("value")

 


\'设置显示内容.
Dom.GetElementById("设备编号").SetAttribute("设备编号", "标题")
Dom.GetElementById("设备地址").SetAttribute("设备地址", "内容")

Try


    Dim dr As DataRow = DataTables("表A").AddNew
    dr("设备地址") = txt_addr.Text
    dr("X") = X
    dr("Y") = Y
Catch ex As Exception
    msgbox("请输入正确的 国家/省市/县区")
End Try


--  作者:qctv
--  发布时间:2013/2/22 10:29:00
--  
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:设备管理.rar


--  作者:lin_hailun
--  发布时间:2013/2/22 10:34:00
--  
这样试一下。

Dim txt_addr As WinForm.TextBox = e.Form.Controls("TextBox1")

Dim web As Object = e.Form.Controls("WebBrowser1").BaseControl


Do Until web.ReadyState = 4
    Application.DoEvents
Loop


Dim Dom As System.Windows.Forms.HtmlDocument = web.Document


Dim point_x As System.Windows.Forms.HtmlElement = Dom.GetElementById("point_x")
Dim x As String = point_x.GetAttribute("value")
Dim point_y As System.Windows.Forms.HtmlElement = Dom.GetElementById("point_y")
Dim y As String = point_y.GetAttribute("value")

 


\'设置显示内容.
Dom.GetElementById("设备编号").SetAttribute("设备编号", "标题")
Dom.GetElementById("设备地址").SetAttribute("设备地址", "内容")

Try

    Dim dr As DataRow = DataTables("表A").AddNew

    dr("设备地址") = txt_addr.Text
    dr("X") = X
    dr("Y") = Y
Catch ex As Exception
    msgbox("请输入正确的 国家/省市/县区")
End Try


[此贴子已经被作者于2013-2-22 10:37:17编辑过]

--  作者:lin_hailun
--  发布时间:2013/2/22 10:43:00
--  
 代码变成这样。

Dim txt_addr As WinForm.TextBox = e.Form.Controls("TextBox1")
Dim web As Object = e.Form.Controls("WebBrowser1").BaseControl
Dim Dom As System.Windows.Forms.HtmlDocument = web.Document
Dim point_x As System.Windows.Forms.HtmlElement = Dom.GetElementById("point_x")
Dim x As String = point_x.GetAttribute("value")
Dim point_y As System.Windows.Forms.HtmlElement = Dom.GetElementById("point_y")
Dim y As String = point_y.GetAttribute("value")

\'设置显示内容.
Dom.GetElementById("marker_title").SetAttribute("value", "设备标题")
Dom.GetElementById("marker_content").SetAttribute("value", "设备地址")

Try
    Dim dr As DataRow = DataTables("表A").AddNew
    dr("设备地址") = txt_addr.Text
    dr("X") = X
    dr("Y") = Y
Catch ex As Exception
    msgbox("请输入正确的 国家/省市/县区")
End Try
[此贴子已经被作者于2013-2-22 10:46:13编辑过]

--  作者:lin_hailun
--  发布时间:2013/2/22 10:45:00
--  
 楼主,请注意,你的操作过程。

 首先是应该查询某个位置的,查询到以后,在具体的位置点击鼠标右键添加标记,然后拖动正确,然后再点击写入数据表的。

 具体看我昨天给你的例子。
[此贴子已经被作者于2013-2-22 10:45:17编辑过]

--  作者:qctv
--  发布时间:2013/2/22 11:45:00
--  

谢谢了


--  作者:qctv
--  发布时间:2013/2/22 13:28:00
--  

我想标记信息里面显示的是经纬度,应该怎样改代码


--  作者:lin_hailun
--  发布时间:2013/2/22 13:47:00
--  
 \'设置显示内容.
Dom.GetElementById("marker_title").SetAttribute("value", "设备标题")
Dom.GetElementById("marker_content").SetAttribute("value", x & "|" & y)