tutu Posted January 18, 2012 Report Share Posted January 18, 2012 holas a todos. bueno les explico, resulta que estoy haciendo un pequeño programa el cual requiere un inicio de sesion, lo estoy haciendo en visual 2010 windows forms, lo tengo casi listo pero el tema de los usuarios me tiene enrredado. tengo el login, con el user y la pass hago una consulta a la BD para que me devuelva los daos completos y los inserte en variables aparte, una vez que las variables estan con la info, en el boton del iniciar sesion inicializo el constructor con las variables (que contienen la info de la insulta). hasta aqui todo bien. el tema es que necesito acceder a esta clase u objeto desde otros form, pero no me deja ver la info que tiene la clase y aun mas me dice que debo inicializarla con el comando 'dim u as new usuario(linea de variables)' mi pregunta es... hay alguna forma de poder ver la info que contiene esta clases desde todos los forms que necesite?? aqui le adjunto la clase Public Class usuario 'variables privadas Private _id As Integer Private _nombre As String Private _apellido As String Private _usuario As String Private _contraseña As String Private _tipouser As Integer 'constructor Public Sub New(ByVal _id As Integer, ByVal _nombre As String, ByVal _apellido As String, ByVal _usuario As String, ByVal _contraseña As String, ByVal _tipouser As Integer) Me._id = _id Me._nombre = _nombre Me._apellido = _apellido Me._usuario = _usuario Me._contraseña = _contraseña Me._tipouser = _tipouser End Sub 'propiedades Public Property id() As Integer Get Return _id End Get Set(ByVal value As Integer) _id = value End Set End Property Public Property nombre() As String Get Return _nombre End Get Set(ByVal value As String) _nombre = value End Set End Property Public Property apellido() As String Get Return _apellido End Get Set(ByVal value As String) _apellido = value End Set End Property Public Property nusuario() As String Get Return _usuario End Get Set(ByVal value As String) _usuario = value End Set End Property Public Property contraseña() As String Get Return _contraseña End Get Set(ByVal value As String) _contraseña = value End Set End Property Public Property tipouser() As Integer Get Return _tipouser End Get Set(ByVal value As Integer) _tipouser = value End Set End Property End Class de antemano muchas gracias :) Link to comment Share on other sites More sharing options...
AshWilliams Posted January 18, 2012 Report Share Posted January 18, 2012 Mira esto: Public Class GlobalVariables Public Shared UserName As String = "Tim Johnson" Public Shared UserAge As Integer = 39 End Class Public Class Form1 : Inherits Form Private Sub Form1_Load(ByVal sender As Object, ByVal e As EventArgs) Handles Me.Load MessageBox.Show("Hello, " & GlobalVariables.UserName) End Sub End Class Creo que por ahi va la respuesta. Saludos :krider: Link to comment Share on other sites More sharing options...
Ra Posted January 22, 2012 Report Share Posted January 22, 2012 La forma de ash es una muy buena opción... pero hay un par más... Una de las diferencias principales entre las 3 es el tema de seguridad... Por ejemplo, al definir una clase como public, puedes acceder a sus métodos y propiedades desde aplicaciones externas... ojo con eso... Bueno... los otros 2 métodos: 1. puedes hacer un módulo y allí definir las variables globales... este es una forma al estilo visual 6 :tonto:2. puedes inicializar la clase una sola vez y luego pasar esa instancia a todos los forms... eso sí, fíjate de pasarlas por referencia y no por valor... osea, tienes que usar ByRef... Sono+ ;) Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now