COMO SE LLAMA A UN PROCEDIMIENTO DESDE OTRO FORM??
el problema es el suiente:
tengo una serie de matrices en el "form3" , que se visualizan en el "form6"
una vez que se comprueba que estas estan bien, tengo que operar con ellas, por ejemplo multiplicarlas...
eso esta hecho (creo), el problema es que quiero que me las multiplique al picar en un boton situado en el "form6"
en el momento de picar el boton lo que quieroo que me haga, es que llame a un procedimiento que esta en el "form3", que es donde tengo toda la multiplicacion de matrices.
como hago para llamar al procedimiento?? porque me da "error de compilacion o sintaxis"
el procedimiento es el siguiente:
'----------------------- en el form6 tengo:
Private Sub Command1_Click()
Call sub matriznormal()
End Sub
' ------------------------ en el form 3 tengo:
Sub matriznormal()
ReDim matN_dch(3, 3)
ReDim solucion4d(3, 3)
valor = 0
For fila = 0 To 3 ' la matriz normal tiene dimension 4x4
For columna = 0 To 3
For contador = 0 To 2 * n - 1 ' esel valor de la columnas= filas de A y Atrasp
valor = valor + solucion3d(fila, contador) * solucion2d(contador, columna)
matN_dch(fila, columna) = valor
Next
'matN_dch(fila, columna) = valor
Next
Next
solucion4d() = matN_dch()
end sub
gracias, salu2
tengo una serie de matrices en el "form3" , que se visualizan en el "form6"
una vez que se comprueba que estas estan bien, tengo que operar con ellas, por ejemplo multiplicarlas...
eso esta hecho (creo), el problema es que quiero que me las multiplique al picar en un boton situado en el "form6"
en el momento de picar el boton lo que quieroo que me haga, es que llame a un procedimiento que esta en el "form3", que es donde tengo toda la multiplicacion de matrices.
como hago para llamar al procedimiento?? porque me da "error de compilacion o sintaxis"
el procedimiento es el siguiente:
'----------------------- en el form6 tengo:
Private Sub Command1_Click()
Call sub matriznormal()
End Sub
' ------------------------ en el form 3 tengo:
Sub matriznormal()
ReDim matN_dch(3, 3)
ReDim solucion4d(3, 3)
valor = 0
For fila = 0 To 3 ' la matriz normal tiene dimension 4x4
For columna = 0 To 3
For contador = 0 To 2 * n - 1 ' esel valor de la columnas= filas de A y Atrasp
valor = valor + solucion3d(fila, contador) * solucion2d(contador, columna)
matN_dch(fila, columna) = valor
Next
'matN_dch(fila, columna) = valor
Next
Next
solucion4d() = matN_dch()
end sub
gracias, salu2
hola maya,
En el Form3 debes definirte el Sub al que quieres llamar de forma p煤blica de esta forma:
Public Sub matriznormal()
......
End Sub
Y la funci贸n que debes hacer para ejecutarlo desde el otro Form es la siguiente:
Call Form3.matriznormal
Con esto consigues que te abra un formulario Form3 cada vez que el usuario pulsa el bot贸n Command1. Si lo que quieres es que te lo ejecute en el mismo formulario y no te abra uno nuevo cada vez, puedes hacer lo que suelo hacer yo (posiblemente haya m茅todos mejores, pero a mi con este me sobra).
Te declaras una variable Publica de tipo Boolean en un m贸dulo global y una variable Publica de tipo Form3, por ejemplo:
Public form3_cargado As Boolean
Public form3_instance As Form3
En el evento Load del Form3, debes poner:
form3_cargado = True
Y en el evento QueryUnload del Form3, debes poner:
form3_cargado = False
Con esto, puedes comprobar antes de llamar al procedimiento del otro form si el formulario est谩 cargado, y si no lo est谩 lo cargas, te quedaria asi:
Private Sub Command1_Click()
If form3_cargado = False Then
Dim nuevo_form As New Form3
nuevo_form.Show
form3_instance = nuevo_form
End If
Call form3_instance.matriznormal
End Sub
Espero que te sirva de ayuda, un saludo.
En el Form3 debes definirte el Sub al que quieres llamar de forma p煤blica de esta forma:
Public Sub matriznormal()
......
End Sub
Y la funci贸n que debes hacer para ejecutarlo desde el otro Form es la siguiente:
Call Form3.matriznormal
Con esto consigues que te abra un formulario Form3 cada vez que el usuario pulsa el bot贸n Command1. Si lo que quieres es que te lo ejecute en el mismo formulario y no te abra uno nuevo cada vez, puedes hacer lo que suelo hacer yo (posiblemente haya m茅todos mejores, pero a mi con este me sobra).
Te declaras una variable Publica de tipo Boolean en un m贸dulo global y una variable Publica de tipo Form3, por ejemplo:
Public form3_cargado As Boolean
Public form3_instance As Form3
En el evento Load del Form3, debes poner:
form3_cargado = True
Y en el evento QueryUnload del Form3, debes poner:
form3_cargado = False
Con esto, puedes comprobar antes de llamar al procedimiento del otro form si el formulario est谩 cargado, y si no lo est谩 lo cargas, te quedaria asi:
Private Sub Command1_Click()
If form3_cargado = False Then
Dim nuevo_form As New Form3
nuevo_form.Show
form3_instance = nuevo_form
End If
Call form3_instance.matriznormal
End Sub
Espero que te sirva de ayuda, un saludo.