Visual Basic - Como llamo una Sub que está en otro Form??

Life is soft - evento anual de software empresarial
 
Vista:

Como llamo una Sub que está en otro Form??

Publicado por Rosy (51 intervenciones) el 07/06/2002 20:57:35
Hola, tengo el siguiente problema: Necesito llamar desde una Form2 a una Sub que está en la Form1.
¿ Se puede ?.................¿ si ?.............¿ Como ?
Saludos
Rosy
Valparaiso - Chile

Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Como llamo una Sub que está en otro Form??

Publicado por carla (104 intervenciones) el 07/06/2002 21:23:04
desde el form2 colocas esto
no tiene que ser privado

form1.nombre_sub
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Como llamo una Sub que está en otro Form??

Publicado por Rosy (51 intervenciones) el 07/06/2002 21:26:18
Gracias por tu respuesta pero ya intenté de esa manera y no me resulto.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Como llamo una Sub que está en otro Form??

Publicado por greco (20 intervenciones) el 07/06/2002 21:25:01
Hola Rosy

Lo único que tienes que hacer es anteponer al nombre del procedimiento el nombre de la forma y un punto, de hecho la forma es un objeto y el sub que tu creaste no es mas que un método de ese objeto.

Así que el código desde el load de la form2 sería el siguiente.
Ej.
Sub Form2_Load
Form1.sub
End Sub

Espero que esto te funcione.

Greco.
Maracaibo - Venezuela
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Como llamo una Sub que está en otro Form??

Publicado por carla (104 intervenciones) el 07/06/2002 22:17:02
greco eso es lo mismo que le dije yo.
tiene que ser ,
sub
end sub
no
private sub
end sub
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Gracias Cara y Greco, pero...............

Publicado por Rosy (51 intervenciones) el 07/06/2002 22:27:42
Ya probé de la manera que ustedes me indican y no funciona, Cuando a una Sub no se le antepone ninguna palabra asume por defecto Private. de manera que si yo coloco Sub MiSub o Private Sub MiSub es exactamente lo mismo, es decir, privada para la form y, como ya me estoy dando cuenta, no hay forma de llamarla desde otra form.
Igual les agradezco el haber tratado de solucionar mi problema.
Chau
Rosy
Valparaiso-Chile

Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Gracias Cara y Greco, pero...............

Publicado por mendru (43 intervenciones) el 10/06/2002 01:13:56
Cuando a un procedimiento no se le pone la palabra que indica el ámbito o alcance de este, asume Private en el caso de que esté en un form o Public en el caso de que esté en un módulo.
Pero para forzar el ámbito puedes usar las siguientes palabras reservadas:

Static: Declara una variable de modo local en un procedimiento (como Dim) pero esta conserva su valor la siguiente vez que se invoca éste.

Private: Declara una variable o procedimiento con el alcance del módulo o form que lo contiene.

Public: Declara una variable o procedimiento con el alcance de todos los módulos o forms del proyecto.

Global: Declara una constante o variable con alcance a todo el proyecto y acceso a otras instancias de este.

Declara el sub así:

Public Sub MiProc
....
end Sub
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Gracias Cara y Greco, pero...............

Publicado por Greco (20 intervenciones) el 10/06/2002 16:16:51
Entonces puedes intentar declarando el sub public. Sólo escribe public antes de sub y eso debe funcionar. De todas maneras si no funciona dime que tipo de error te da para ver que puedo hacer
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Greco, tampoco funciona de esa manera

Publicado por Rosy (51 intervenciones) el 10/06/2002 16:34:20
Gracias Greco, pero quizas el detalle que me falta mencionar es que estoy usando VB 3.0 y no acepta anteponer la palabra Public. La única manera que pueda llamar una sub desde distintas Form es colocarla dentro de un módulo.
Gracias de todas formas
Rosy
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Greco, tampoco funciona de esa manera

Publicado por Greco (20 intervenciones) el 10/06/2002 17:02:18
VB3!!! Definitivamente ese era el detalle que faltaba mencionar.

Siendo así, la solución es la que tu misma haz dado.

Saludos y hasta otra oportunidad.

Greco.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar