Visual Basic - Problemas con CreateEventProc

Life is soft - evento anual de software empresarial
   
Vista:

Problemas con CreateEventProc

Publicado por mario231179 (4 intervenciones) el 07/04/2010 20:14:46
Buenas
tengo un problema con CreateEvenProc que al ejecutarlo pierde el valor de unas variable que necesito, paso un ejemplo para representarlo y entenderlo mas claramente..... (Al Final estan las explicaciones del problema que tengo....

creo un formulario nuevo y agrego 2 botones (comando0 y comando1)
y luego pego este codigo en codigo

Dim USUARIO As String
Option Compare Database
Private Sub Comando1_Click()
MsgBox USUARIO
End Sub
Private Sub Form_Load()
USUARIO = "MARIO"
End Sub
Private Sub Comando0_Click()
Dim ctlLabel As Control, ctlText As Control
Dim nombre_frm As String
Dim mdl As Module
Set frmvariable = CreateForm
With frmvariable
.PopUp = True
.Modal = True
End With
Set ctlText = CreateControl(frmvariable.name, acCheckBox, , , "", 1000, 1000)
Set ctlLabel = CreateControl(frmvariable.name, acLabel, , ctlText.name, "xxxxx", 1200, 1200)
Set btnSALIDAX = CreateControl(frmvariable.name, acCommandButton, , , "", 2000, 2000)
btnSALIDAX.Caption = "Generar Informe"
btnSALIDAX.OnClick = "[Event Procedure]"
''' SI OMITO ESTAS LINEAS NO PUERDO EL VALOR DE LA VARIABLE -- >USUARIO
Set mdl = frmvariable.Module
lngReturn = mdl.CreateEventProc("Click", btnSALIDAX.name)
mdl.InsertLines lngReturn + 1, vbTab & "MsgBox ""HOLAAAAAA!"""
''' SI OMITO ESTAS LINEAS NO PUERDO EL VALOR DE LA VARIABLE -- >USUARIO
nombre_frm = frmvariable.name
DoCmd.OpenForm nombre_frm
End Sub


Con este form si lo prueba podran observar que si presionamos comando0 se crea el form nuevo, luego lo cierro y si preciono comando1 para ver el valor de la variable usuario (esta ya se perdio)

para la siguiete prueba volver a vista de diseño y ejecutar el form nuevamente (Para cargar nuevamente la variable USUARIO)
Si repito la prueba omitiendo las 3 lineas indicadas, al precionar comando0 se crea el form nuevo, luego lo cierro y preciono comando1 y el valor de la variable usuario no se a perdido.

si alguien quiere conectarse conmigo via MSN le paso la direccion mario231179@hotmail.com
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