Av og til hender det at .NET ikke er glad i å bruke variablene i en for-løkke (Visual Studio vil kunne finne på å advare mot dette). Det kan enkelt forbigås ved å ta en kopi av telle-variabelen til en ny variabel.
Kan du prøve dette?
For i As Integer = 0 To 12
Dim currentValue As Integer = i
Dim SVpair As New HomeSeerAPI.VSPair(HomeSeerAPI.ePairStatusControl.Status)
Dim VGpair As New HomeSeerAPI.VGPair
VGpair.PairType = HomeSeerAPI.VSVGPairType.SingleValue
SVpair.PairType = HomeSeerAPI.VSVGPairType.SingleValue
Select Case i
Case 0
SVpair.Value = currentValue
SVpair.Status = "Auto"
VGpair.Set_Value = currentValue
VGpair.Graphic = "images/Xian/auto.jpg"
hs.DeviceScriptButton_AddButton(devref, "Auto", currentValue, "Melcloud.vb", "Buttonpress", "VSwing_Auto", 1, 1, 1)
Case 1 To 5
SVpair.Value = i
SVpair.Status = "Position " & i
VGpair.Set_Value = i
VGpair.Graphic = "images/Xian/VSwing" & i & ".jpg"
hs.DeviceScriptButton_AddButton(devref, i, i, "Melcloud.vb", "Buttonpress", "VSwing-" & i, 1, i + 1, 1)
Case 7
SVpair.Value = i
SVpair.Status = "Swing"
VGpair.Set_Value = i
VGpair.Graphic = "images/Xian/vswing.jpg"
hs.DeviceScriptButton_AddButton(devref, "Swing", i, "Melcloud.vb", "Buttonpress", "VSwing", 1, i + 1, 1)
End Select
hs.DeviceVSP_AddPair(devref, SVpair)
hs.DeviceVGP_AddPair(devref, VGpair)
Next