Foros del Web » Programación para mayores de 30 ;) » .NET »

Public Sub

Estas en el tema de Public Sub en el foro de .NET en Foros del Web. Hola gente tengo un problema con un public sub... si pongo el code en el form anda perfecto. pero si lo pongo en un module ...
  #1 (permalink)  
Antiguo 24/06/2005, 06:45
Avatar de momo  
Fecha de Ingreso: abril-2003
Mensajes: 898
Antigüedad: 21 años, 7 meses
Puntos: 0
Public Sub

Hola gente
tengo un problema con un public sub...
si pongo el code en el form anda perfecto. pero si lo pongo en un module no me anda y no se por que.
el form se llama formagregarnotas y lo que quiero que haga es simplemente no poner el circulito en la fecha actual en un MonthCalendar.
el error que me tira es el siguiente: "Additional information: Referencia a objeto no establecida como instancia de un objeto."
Alguna idea?
Este es el code.

Public Sub refrescarformagregarnotas()
Dim agregarnotas As formagregarnotas
agregarnotas.MonthCalendar1.ShowTodayCircle = False
End Sub


si en cambio pongo:
Public Sub refrescarformagregarnotas()
Dim agregarnotas As new formagregarnotas
agregarnotas.MonthCalendar1.ShowTodayCircle = False
End Sub
Simplemente no hace nada sin darme ningun mensaje de error.

Gracias
Mariano
  #2 (permalink)  
Antiguo 24/06/2005, 08:35
Avatar de RicaJ0625  
Fecha de Ingreso: noviembre-2004
Ubicación: La Chorrera, Panamá
Mensajes: 86
Antigüedad: 20 años
Puntos: 0
Esto sucede porque estas cambiando el valor en una forma nueva (el uso del New), no es la misma forma que ya tienes cargada.

Public Sub refrescarformagregarnotas(ByVal agregarnotas As formagregarnotas)

Y la llamas refrescarformagregarnotas(agregarnotas)

Lo que puedes hacer es enviar la forma a la rutina como un parametro. Asi si te debe de funcionar.
  #3 (permalink)  
Antiguo 24/06/2005, 08:36
Avatar de Jose_minglein2  
Fecha de Ingreso: noviembre-2004
Mensajes: 2.344
Antigüedad: 20 años
Puntos: 8
En tu primera opción lo que pasa es que no creas el objeto, y en tu segunda lo que haces es crear un nuevo objeto pero tampoco te hace nada, porque es un nuevo objeto. Lo que debes hacer es en el loda del form formagregarnotas poner el

me.MonthCalendar1.ShowTodayCircle = False
  #4 (permalink)  
Antiguo 24/06/2005, 08:40
Avatar de momo  
Fecha de Ingreso: abril-2003
Mensajes: 898
Antigüedad: 21 años, 7 meses
Puntos: 0
gracias
RicaJ0625 no entiendo lo que me explicas. recien empiezo con esto y no entendi eso de enviar la forma a la rutia como un parametro.
Jose_minglein2 lo que pasa es que esa funcion la uso muchas veces en la aplicacion entonces necesito tenerla en un solo lugar para llamarla cuando la necesite sino el codigo se me hace inmenso.
Gracias a los dos
Mariano
  #5 (permalink)  
Antiguo 24/06/2005, 08:59
Avatar de Jose_minglein2  
Fecha de Ingreso: noviembre-2004
Mensajes: 2.344
Antigüedad: 20 años
Puntos: 8
Ya entiendo lo que quieres decir, entonces lo mejor es que hagas lo que te dice Rica0625, pero en vez de pasarle el formulario yo le pasaría el MonthCalendar por referencia, es decir, en tu modulo:


Public Sub refrescarformagregarnotas(byref Cal as MonthCalendar)
Cal.ShowTodayCircle = False
End Sub

Y luego desde cualquier form

dim mimodulo as modulo
mimodulo.refrescarformagregarnotas(MonthCalendar1)
  #6 (permalink)  
Antiguo 24/06/2005, 09:01
Avatar de momo  
Fecha de Ingreso: abril-2003
Mensajes: 898
Antigüedad: 21 años, 7 meses
Puntos: 0
ah ok... lo pruebo y les digo
Encima es el primer programa que hago y todo lo que hago lo tengo que aprender de cero :S...

Muchas Gracias
Salu2
Mariano
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 22:05.