** NORMAS DEL FORO **
Inicio del foro Inicio del foro > Relacionado con Access > Curso de Access y VBA
  Mensajes nuevos Mensajes nuevos RSS - Entrega 12
  Preguntas frecuentes Preguntas frecuentes  Buscar en el foro   Eventos   Registro Registro  Iniciar sesion Iniciar sesion

Tema cerradoEntrega 12

 Responder Responder
Autor
Mensaje Invertir el orden de clasificación
buho Ver desplegable
Administrador
Administrador
Avatar
Feo

Unido: 10/Abril/2004
Localización: Estremera
Estado: Sin conexión
Puntos: 11266
Enlace directo a este mensaje Tema: Entrega 12
    Enviado: 17/Febrero/2005 a las 02:01

Hola Eduardo...he leido (En realidad he echado un vistazo rapido a este entrega...a ver si me lo leo con calma) y me han surgido algunas dudas.
La primera, no es una duda, sí quizá una matizacion sobre Enum. Creo que se debería poner en el escrito que este tipo de estructura no está disponible en VBA de Access 97.

Sobre la declaración Static. Apenas lo he utilizado de ahi que me hayan surgido algunas dudas. No son preguntas, mas que nada aclaraciones que yo mismo me he tenido que resolver ahora sobre la marcha por que tenia mis dudas...
(A) Tengo un Módulo de clase «Clase1» con un procedimiento Static HolaMundo y dentro de este procedimiento tengo declara una variable Dim N As Long
Si por necesidades yo instancio en un mismo programa (En un formulario, por ejemplo) varias veces el módulo de clase ...por cada nueva instancia del módulo de clase...¿Se crea un espacio independiente para las variables declaradas dentro de ese procedimiento, en este caso N?¿Se mezclan los valores de «N» al ser instanciada la clase dos veces siultaneamente?

Ya he visto que efectivamente por cada instancia abierta del modulo de clase, se crean espacios independientes de almacenamiento de la variable «N».
Es que como dudaba...mejor probar. ;-)
=============================
El ejemplo que acabo de hacer es crear un modulo de clase llamado Clase1 con
este simple codigo:
Option Explicit

     Static Sub HOLAMUNDO()
        Dim N As Long
        N = N + 1
        MsgBox N
     End Sub

Luego en un formulario normal he puesto este código:

   Dim contador As Long
   Dim Miclase1 As Clase1
   Dim Miclase2 As Clase1
   Set Miclase1 = New Clase1
   Set Miclase2 = New Clase1
   For contador = 1 To 3
     Miclase1.HOLAMUNDO
     Miclase2.HOLAMUNDO
   Next

En efecto...he observado que la variable N es «independiente» entre ambas clases (No se mezcla), pero sin ambargo, como bien decías, ya en en cada instancia concreta a la clase, el valor se va incrementado por el hecho de haber declarado el procedimiento «HolaMundo» como Static.
Ya te digo, que tenia mis dudas...y mejor probar que quedarme con la duda. Y me he permitido la licencia de escribirlo aqui....por si a alguien tambien le surgía dicha duda.

Otra cosilla...

(B) Declaracion dentro de un módulo estandar, de un procedimiento Static. Dentro de este procedimiento Static declaro Dim Mivariable
Entiendo que en este caso Mivariable, una vez que por primera entre en ese procedimiento, la variable ya no se destruirá hasta que cierre la aplicacion...¿Corecto? (Es que en este caso, entro en el modulo, corro el procedimiento, pero en contra de lo que pasaba con el modulo de clase, yo el modulo standar no puedo destruile (Por emplear alguna palabra)

En fin..una vez gracias por hacernos trabajar y aclarar conceptos... :-))

Foro Offline GRATIS:BAJAR.
Página WEB:Web
Saludos desde la cárcel de Estremera
Arriba
buho Ver desplegable
Administrador
Administrador
Avatar
Feo

Unido: 10/Abril/2004
Localización: Estremera
Estado: Sin conexión
Puntos: 11266
Enlace directo a este mensaje Enviado: 16/Febrero/2005 a las 09:28

Me ha costado un poco más, pero ya tenéis a vuestra disposición la entrega 12 del curso.
Esta entrega es un poco más extensa que las anteriores (22 páginas)

Tal y como os adelanté, en esta entrega se abordan los siguientes temas:

· Declaración de variables como Static, a nivel de procedimiento
· Paso de parámetros Por Valor y Por Referencia, ByVal y ByRef
· Declaración de parámetros como opcionales mediante Optional
· Resolución de problemas mediante Procedimientos Recursivos e Iterativos.
· Paso de parámetros con un número indeterminado de elementos mediante  ParamArray.
· Paso de parámetros Con Nombre mediante el operador de asignación :=
· Constantes Enumeradas Enum ... End Enum
· Procedimientos para intercambiar información con el usuario MsgBox e  InputBox

La entrega la podéis descargar desde este servidor del Foro AQUI 

Saludos desde la calle Estafeta de Pamplona:

 Eduardo Olaz
 Microsoft [MVP] Access

 eduardoALGARROBAolaz.net
       ALGARROBA = @

Foro Offline GRATIS:BAJAR.
Página WEB:Web
Saludos desde la cárcel de Estremera
Arriba
 Responder Responder
  Compartir tema   

Ir al foro Permisos de foro Ver desplegable