modulos

N
03 de Abril del 2005
mi problema es el siguiente...

tengo una imagen en un formulario y tengo un label, como hago para manipularlos en un modulo, si por medio de una funcion o un procedimiento... o como...

de antemano gracias

krizall
03 de Abril del 2005
antes que nada... que quieres hacer con el label y la imagen????

si no mencionas con detalles lo que quieres hacer nadie te dira como, ademas tanto la funcion como el procedimiento pueden manipular lo que quieras

N
03 de Abril del 2005
tengo una par de imagenes en el formulario la imagen que voy a manipualar en el modulo es una vector "Imagen1()" lo que quiero es ir recorriendo la imagen y irle asignando otra de las imagenes que tengo en el formualrio... mejor dicho tengo esto...

Public Sub Capturar() 'procedimiento que coloca a los barcos en su respectiva matriz
For i = 1 To fila
For j = 1 To columna
l = 0
If band1 = 1 Then
With A(i, j)
sTmp = .celdas(0) & _
.celdas(1) & _
.celdas(2)
End With
Else
With B(i, j)
sTmp = .celdas(0) & _
.celdas(1) & _
.celdas(2)
End With
End If
If sTmp = pos Then
If band = 2 Then
While (l <> Dimen)
If band1 = 1 Then
If A(i, j).Blanco = ">" Then
Label4 = "YA ESTA OCUPADA ESA POSICION, MUAJAJAJAJA, HAZLO DE NUEVO"
While l <> 0
i = i - 1
l = l - 1
Index = Index - 20
A(i, j).Blanco = ""
Image1(Index).Picture = Image11.Picture
Wend
band = 4
Exit Sub
Else
A(i, j).partes = l + 1
A(i, j).Direccion = "V"
A(i, j).Longitud = Dimen
A(i, j).Blanco = "*"
If Dimen = 2 Then
Image1(Index).Picture = Image8(l).Picture
End If
If Dimen = 3 Then
Image1(Index).Picture = Image4(l).Picture
End If
If Dimen = 4 Then
Image1(Index).Picture = Image6(l).Picture
End If
Index = Index + 20
i = i + 1
l = l + 1
End If
Else
If B(i, j).Blanco = "*" Then
Label4 = "YA ESTA OCUPADA ESA POSICION, MUAJAJAJAJA, HAZLO DE NUEVO"
While l <> 0
i = i - 1
l = l - 1
Index = Index - 20
B(i, j).Blanco = ""
Image1(Index).Picture = Image11.Picture
Wend
band = 4
Exit Sub
Else
B(i, j).partes = l + 1
B(i, j).Direccion = "V"
B(i, j).Longitud = Dimen
B(i, j).Blanco = "*"
If Dimen = 2 Then
Image1(Index).Picture = Image8(l).Picture
End If
If Dimen = 3 Then
Image1(Index).Picture = Image4(l).Picture
End If
If Dimen = 4 Then
Image1(Index).Picture = Image6(l).Picture
End If
Index = Index + 20
i = i + 1
l = l + 1
End If
End If
Wend
Label4 = "LA OPERACION HA SIDO TODO UN EXITO"
Barcos(Dimen) = Barcos(Dimen) - 1
band = 4
Exit Sub
Else
While (l <> Dimen)
If band1 = 1 Then
If A(i, j).Blanco = ">" Then
Label4 = "YA ESTA OCUPADA ESA POSICION, MUAJAJAJAJA, HAZLO DE NUEVO"
While l <> 0
j = j - 1
l = l - 1
Index = Index - 1
A(i, j).Blanco = ""
Image1(Index).Picture = Image11.Picture
Wend
band = 4
Exit Sub
Else
A(i, j).partes = l + 1
A(i, j).Direccion = "H"
A(i, j).Longitud = Dimen
A(i, j).Blanco = "*"
If Dimen = 2 Then
Image1(Index).Picture = Image7(l).Picture
End If
If Dimen = 3 Then
Image1(Index).Picture = Image2(l).Picture
End If
If Dimen = 4 Then
Image1(Index).Picture = Image5(l).Picture
End If
Index = Index + 1
j = j + 1
l = l + 1
End If
Else
If B(i, j).Blanco = "*" Then
Label4 = "YA ESTA OCUPADA ESA POSICION, MUAJAJAJAJA, HAZLO DE NUEVO"
While l <> 0
j = j - 1
l = l - 1
Index = Index - 1
B(i, j).Blanco = ""
Image1(Index).Picture = Image11.Picture
Wend
band = 4
Exit Sub
Else
B(i, j).partes = l + 1
B(i, j).Direccion = "H"
B(i, j).Longitud = Dimen
B(i, j).Blanco = "*"
If Dimen = 2 Then
Image1(Index).Picture = Image7(l).Picture
End If
If Dimen = 3 Then
Image1(Index).Picture = Image2(l).Picture
End If
If Dimen = 4 Then
Image1(Index).Picture = Image5(l).Picture
End If
Index = Index + 1
j = j + 1
l = l + 1
End If
End If
Wend
Label4 = "LA OPERACION HA SIDO TODO UN EXITO"
Barcos(Dimen) = Barcos(Dimen) - 1
band = 4
Exit Sub
End If
End If
Next
Next
End Sub

esto esta en el modulo y cuando lo ejecuto y llego a esa parte me sale

error '91' en tiempo de ejecucion:

Variable de tipo object ola variable de bloque with no esta establecida

krizall
03 de Abril del 2005
a que parte te refieres????, el codigo esta algo largo como para saber en que parte te genera el error, podrias subrayarlo o comentar en que linea te sale el error, me parece que ese error sale cuando alguna variable hace referencia a un elemento de un objeto, el cual no existe, por ejemplo podria ser que tu matriz llegue a 5 y se haga referencia a un elemento 6....

N
03 de Abril del 2005
todas esas variables estan declaradas en el moudulo hasta las imagenes y el label y son publicos... me explico lo que hago ahi... tengo que hacer una batalla naval, y tengo una matriz la cual ya esta hecha y es donde guardo como la informacion sin que el usuario nunca se de cuanta y lo que le muestra al usuario es una tablero con imagenes... esas imagenes estan dentro de un frame y lo que yo quiero hacer, entonces luego el usuario escoje donde desea colocar el barco dandole click al cuador donde de imagen y con el evento click tomo algo los datos que necesito para registrarlos en la matriz... luego despues de pasar algunos controles le envio la informacion a capturar... y alli el toma los pone en la matriz y se asegura de que no alla ningun barco en esa posicion, lo que yo intento hacer con el vector imagen es colocarle la imagen de los barcos... pero me sale ese error...

y eso es basicamente lo que intento hacer... de antemano gracias por la colaboracion

krizall
03 de Abril del 2005
ok, mira, te recomiento que hagas los iguiente para ver los detalles del error, justo en donde empieza el procedimiento donde te genera el error por un marcador para uqe cada vez que se ejecute ese procedimiento entre en modo de depuracion, con lo cual podras seguir paso a paso cada porceso que se realiza, entonces cuando te genere el error podras ver mas concretamente a que se refiere a que objeto o elemnoto de la matriz esta apuntando en ese momento tu procedimiento.

suerte