也许是一个简单的问题,但我找不到任何对我有用的东西。
我正在尝试在VB.NET中调试我的程序,我正在尝试添加一个比较检查。我遇到的问题是比较的两个变量来自其他形式,所以当我试图查看检查结果时,我得到以下两个变量:
“对非共享成员的引用需要对象引用vb.net 2010”
我的代码是:
Private Sub YESButton_Click(sender As Object, e As EventArgs) Handles YESButton.Click
If frmTargetList.delete_Selected_All_targets = 1 Then
'Lo borro de targetListFromBBDD, TARGETS_Overlay, TARGETS_Overlay_Damaged, TARGETS_Overlay_Eliminated, targetMarkers, selectedMultipleTargetclsPosition
For i As Integer = 0 To BMS.targetListFromBBDD.Count - 1
If frmTargetList.targetToDelete = BMS.targetMarkers(i).id Then
BMS.DeleteTargetFromBBDD(BMS.targetMarkers(i).id)
Dim marker As GMarkerGoogle
marker = BMS.targetMarkers(i).marker
BMS.TARGETS_Overlay.Markers.Remove(marker)
BMS.TARGETS_Overlay_Damaged.Markers.Remove(marker)
BMS.TARGETS_Overlay_Eliminated.Markers.Remove(marker)
BMS.targetMarkers.Remove(New clsPosition(marker.ToolTipText, marker.Position.Lat.ToString, marker.Position.Lng.ToString))
BMS.selectedMultipleTargetclsPosition.Remove(New clsPosition(marker.ToolTipText, marker.Position.Lat.ToString, marker.Position.Lng.ToString))
End If
Next
'Lo borro de targetList
For j As Integer = 1 To BMS.targetList.Count
If frmTargetList.targetToDelete = BMS.targetList(j).id Then
BMS.targetList(j) = Nothing
End If
Next
frmTargetList.TargetsListView.SelectedItems(0).Remove()
ElseIf frmTargetList.delete_Selected_All_targets = 2 Then
BMS.TARGETS_Overlay.Markers.Clear()
BMS.TARGETS_Overlay_Damaged.Markers.Clear()
BMS.TARGETS_Overlay_Eliminated.Markers.Clear()
BMS.targetListFromBBDD.Clear()
BMS.targetList.Clear()
BMS.targetMarkers.Clear()
BMS.selectedMultipleTargetclsPosition.Clear()
BMS.targetId = 1
BMS.targetInserted = 0
BMS.DeleteAllTargetFromBBDD()
frmTargetList.TargetsListView.Clear()
BMS.myOverlayDistances.Clear()
End If
Me.Close()
frmTargetList.Close()
End Sub
在这一行:
If frmTargetList.targetToDelete = BMS.targetMarkers(i).id Then
是我无法看到发生了什么的地方,但是执行没有继续,我看不出原因。
如果需要,两个变量都是公共的,并以同一项目中的表单声明。另外,我正在检查在程序流程中,变量是否有值,所以我认为问题是这个变量不匹配,但是当我执行程序使它们匹配时,都不会继续并退出。
有哪些方法可以检查其他形式的变量?
感谢所有人