problema al iniciar

23/02/2005 - 00:55 por Mario | Informe spam
hola

necesito inicializar una collection en vb.net, podria
alguno de uds decirme que funciones se invocan al principio
del programa para incluir mi funcion de inicio ahi?

gracias

Mario

Preguntas similare

Leer las respuestas

#1 SqlRanger
23/02/2005 - 11:26 | Informe spam
Hay varias posibles soluciones a lo que planteas. Suponiendo que la
colección deba ser accesible desde cualquier punto del programa te propongo
dos soluciones distintas

Una solución podría ser mediante un módulo. Declaramos la coleccion
"MiColeccion" como una variable global accesible desde cualquier punto del
programa y la inicilizamos antes de mostrar el formulario principal de la
aplicación. Para que esto funcione correctamente hay que establecer Sub Main
como punto de inicio del programa mediante la hoja de propiedades del
proyecto.


Module MainModule
Public MiColeccion As ArrayList

Sub Main()
InicializarColeccion
Dim frm As New MainForm()
Application.Run(frm)
End Sub


Sub InicializarColeccion()
MiColeccion = New ArrayList
MiColeccion.Add( "Un elemento")
MiColeccion.Add( "Otro elemento")
'etc
End Sub

End Module

Otra solución más "orientada a objetos" sería tener una clase "Globales" con
propiedades estáticas (Shared) que se inicializan justo antes de ser
accedidas por primera vez:

Public Class Globales

Private Shared mMiColección As ArrayList

Public Shared ReadOnly Property MiColección As ArrayList
Get
if mMiColección Is Nothing Then
mMiColección = New ArrayList
mMiColección.Add("Un Elemento")
mMiColección.Add("Otro Elemento")
'etc
End If
Return mMiColección
End Get
End Property

'Otras propiedades globales
End Class

Desde cualquier punto del programa, por ejemplo en el click de un botón,
podemos acceder a MiColección de la siguiente manera:

Private Sub Button1_Click( sender as object, e as eventArgs) handles
button1.click
Dim PrimerElemento As Object = Globales.MiColeccion(0)
End Sub

Observa que aunque la propiedad "MiColección" es ReadOnly, la colección en
sí, no lo es, es decir, podemos alterar la colección añadiendo elementos,
eliminándolos o modificando los elementos:

Globales.MiColección(0) = "Elemento X"
Globales.MiColección.Add("Elemento Y")

Lo que no podemos hacer es hacer que MiColección haga referencia a una
colección diferente:

Globales.MiColección = OtraColección 'error de compilación MiColección
es ReadOnly

Saludos:

Jesús López
MVP

"Mario" escribió en el mensaje
news:027f01c51939$fbd110e0$
hola

necesito inicializar una collection en vb.net, podria
alguno de uds decirme que funciones se invocan al principio
del programa para incluir mi funcion de inicio ahi?

gracias

Mario
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida