Prueba Velneo Gratis

Te ofrecemos todo el poder de Velneo durante 1 mes para desarrollar la aplicación que tu empresa necesita.

Saber más
Thank you! Check your email for confirmation.

Ámbito de las variables

En Velneo V7 existen dos objetos que nos permiten almacenar datos individuales, las varibles globales y las variables locales.En este artículo os explicaré tanto la diferencia entre ellas como su ámbito de ejecución.La varible global es un objeto cuyo contenido es global a la aplicación y común, en el ámbito de red, para todos los usuarios si su persistencia es en disco, y de carácter local si su persistencia es en memoria.La variable local es un subobjeto definible dentro de un objeto. Se trata de una variable local al objeto en el que ha sido declarada, y solamente será accesible desde ese objeto o desde otros sub-objetos del mismo. La persistencia de este tipo de variables es en memoria.

Ámbito de las variables globales

El contenido de una variable global en disco es común a todos los usuarios y planos de ejecución (tanto en los clientes como en el servidor).Por tanto, si desde una sesión de Velneo vClient V7 se modifica una variable global en disco, esta modificación afectará tanto al resto de los clientes que estén ejecutando la misma instancia como a los procesos que hagan uso de ella en el servidor (procesos ejecutados en tercer plano).Debemos tener en cuenta que cada vez que se usa una variable global en disco, Velneo vClient V7 debe solicitarle al servidor el valor de dicha variable, por si ha cambiado, lo que supone una conexión a través del enganche correspondiente y, por lo tanto, mayor tiempo de ejecución que si utilizamos otras técnicas. En muchos casos leer el valor de una variable global en disco no supondrá ningún problema, sin embargo, debemos evitar usar variables globales en disco en contenidos iniciales o fórmulas de campos que se calculen en todos los registros ya que eso puede producir sensación de lentitud en nuestras aplicaciones. Si por ejemplo usamos una variable global en disco en un campo de tipo fórmula y en una rejilla en la que se muestra ese campo cargamos una lista de registos, dado que el contenido de este tipo de campos se calcula dinámicamente, por cada registro a presentar en la lista se deberá leer el valor de la variable global en el servidor para calcular la fórmula, lo que provocará una ralentización en su carga.El funcionamiento de las variables globales con persistencia en memoria se circunscribe al ámbito estándar de funcionalidad de este tipo de variables en los lenguajes de programación genéricos que, básicamente, consiste en ser globales a la máquina en la que se haga uso de ellas. No hay replicación entre clientes y servidor y viceversa.Es decir, que la modificación que haga un usuario a una variable global en memoria afectará única y exclusivamente a esa sesión de Velneo vClient V7. No afecta a otras sesiones de vClient (ni abiertas en la misma máquina ni en máquinas diferentes) ni al servidor.Por ejemplo, si modificamos una variable global en memoria en un proceso ejecutado en primer plano y lanzamos desde éste un proceso en tercer plano (ejecución en el servidor) que use esa misma variable global, no se replica el valor dado en esa sesión de vClient, sino que tomará el valor que tenga en el servidor.Si modificamos una variable global en memoria en un proceso ejecutado en 2º plano, y ejecutamos al mismo tiempo otros proceso en 2º plano que hagan uso de la misma, el cambio afectará a todos ellos.

Ámbito de las variables locales

La norma general es que las variables locales son locales al objeto donde se definen y solamente están accesibles desde éste, aunque existan otros objetos que tengan declarados variables locales idénticas.En un formulario podemos declarar una variable local y ésta será común al formulario y a todos los subobjetos del mismo.Por ejemplo, podremos usar una variable local definida en el formulario en un evento de intefaz del mismo.En un formulario podemos usar controles que agrupan o contienen otros objetos. Por ejemplo, podemos incrustar una rejilla mediante el uso de un control llamado control objeto. Debemos tener en cuenta que en este caso la rejilla no es un subobjeto de formulario (el subobjeto es el control objeto que la contiene), por tanto, no hay compartición de varibles locales entre ambos (formulario y rejilla), aunque se llamen de igual forma.De igual modo un formulario no es un subobjeto de una tabla, por lo tanto, las variables locales definidas en ambos objetos son locales a cada uno de ellos y no hay, por tanto, interacción entre ambos.Por último, mencionar que en Velneo V7 las variables locales ganan peso y funcionalidad frente a las variables globales; de ahí la existencia, por ejemplo, de los comandos de proceso de objetos que nos permiten, desde procesos o eventos de interfaz, gestionar las variables locales de otros objetos, y el traspaso automático de variables locales de formularios de búsqueda a las búsquedas. Podrás ampliar información al respecto al final del capítulo dedicado a las búsquedas.

Regístrate ahora y nuestro equipo se pondrá en contacto muy pronto