Variables globales en tercer plano


([N1] Synetic) #1

Hola a todos,
Como solucionáis el paso de valores a procesos en tercer plano?
Leyendo el tutorial de variables globales especifica claramente que variables en memoria son de ámbito local. Si utilizo una variable en disco tendría acceso a su valor en tercer plano pero este proceso lo pueden ejecutar distintos usuarios con distintos valores en esas variables. Se sobreescribirían.

La solución que se me ocurre es usar una tabla guardando el usuario y valor de sus variables. Existe otra solución menos engorrosa?

Saludos,


([N1] Pepeto) #2

@Fernando.bricotec

Procuro evitar en lo posible el uso de Variables globales, pero cuando las necesito y debo utilizarlas traspasando valores entre vClient (1 plano) y vServer (3 plano), lo hago de la manera que indicas, con una tabla con: usuario, variable, valor.

un saludo
Jose Luis
http://ascsl.net


([N1] cristianvg2003) #3

Hola,

Si entendí bien la verdad no le veo mucho el punto ni a las variables globales ni a la tabla, cuando yo necesito correr un proceso en 3r plano que tiene parametros lo que hago es crear un manejador de objeto para el proceso, asignarle valor a alguna varibale local del proceso que me sirva de parametro y despues disparo el objeto en 3r plano.

Saludos


([N1] Pepeto) #4

Cierto, es uno de los pequeños vicios adquiridos que debemos cambiar.
Usamos el Manejador de objetos menos de lo que deberiamos y es mucha, la potencia que tiene.

De todas formas, como he dicho, uso pocas variables globales, muy pocas, poque como dijo una vez el maestro (vArquitecto), todo lo que se puede definir en el proyecto de datos (en la estructura de tablas) ahorra cientos de lineas de codigo y te olvidas de problemas. (Quizá no dijo esto literalmente), pero vamos, que si se puede programar en las tablas, debe hacerse (entonces no existia V7, pero creo que el planteamiento sigue siendo totalmente válido).

un saludo
Jose Luis
http://ascsl.net