No entiendo este error VS2005

14/09/2005 - 13:55 por Ch0rY | Informe spam
Es fallo mio, o un bug?

' Me da este error y no se xq
Variable 'Claro1' is used before it has been assigned a value. A null
reference exception could result at runtime.

Dim img As New Bitmap(Me.Width, Me.Height)
Dim gr As Graphics = Graphics.FromImage(img)

Dim Blanco, Negro, Gris, Humo As Pen
Dim Claro1, Claro2, Sombra1, Sombra2 As Pen
Blanco = Pens.White
Negro = Pens.Black
Humo = Pens.WhiteSmoke
Gris = Pens.Gray

Select Case _Profundidad
Case 1
Claro1 = Humo
Sombra1 = Gris
Case 2
Claro1 = Blanco
Claro2 = Humo
Sombra1 = Negro
Sombra2 = Gris
End Select


With gr
.DrawLine(Claro1, 0, Me.Height - 1, 0, 0) <-- Linea con el error
.DrawLine(Claro1, 0, 0, Me.Width - 1, 0)
.DrawLine(Sombra1, Me.Width - 1, 1, Me.Width - 1, Me.Height - 1) <-- Linea
con el error
.DrawLine(Sombra1, Me.Width - 1, Me.Height - 1, 0, Me.Height - 1)
End With
 

Leer las respuestas

#1 Leonardo Azpurua [mvp vb]
14/09/2005 - 15:56 | Informe spam
Hola, Ch0ry:

Es un error o una advertencia?

Debería ser una advertencia. Simplemente porque no hay una asignación
incodicional a Claro1.

Es decir, si _Profundidad = 1 se le asigna Humo, y si es 2 se le asigna
Blanco, pero los valores en el Select Case probablemente no agotan el rango
de variación del selector.

Puedes probar con dos cosas (es lo que haría, no se si funcionara):

- Declarar Profundidad como una enumeracion y _Profundidad como instancia de
este tipo e incluir todos los valores enumerados en el Select Case.

- Si solo son dos valores posibles, recodificar el Select Case como un If
... Then ... Else.

Salud!

Preguntas similares