Opened 11 years ago
Last modified 11 years ago
#1766 new defect
Problema al cargar ozas de Sets con estructura
Reported by: | Owned by: | Víctor de Buen Remiro | |
---|---|---|---|
Priority: | highest | Milestone: | Mantainance |
Component: | Kernel | Version: | 3.2 |
Severity: | normal | Keywords: | |
Cc: | cocacola@… |
Description
Hola TOL, he visto un problema con los archivos ozas que no estoy muy seguro de porqué sucede.
Yo creo un Set como el resultado de una query al que le paso una estructura, y lo guardo con Ois.Store(Set,Ruta)
, todo ok hasta aquí.
Sin embargo, si quiero cargar ese oza con Ois.Load(Ruta)[1]
desde otro tol distinto, ocurre un problema, y es que tol me crea variables globales con los nombres de los campos de la estructura, y éstas variables valen lo que vale el primer registro de mi query. Os adjunto un ejemplo con una query de clasificación de columnas, contactad conmigo y os paso los datos de conexión si queréis, aunque podéis probarlo desde cualquier tabla que tengáis, el archivo es el "Error como Resultado de una Query.txt"
Como contradicción, si creo el Set a mano dándole estructura a los campos, la lectura funciona correctamente y no me crea variables globales que tomen los valores del primer registro del Set. Entiendo que esto no es consistente con lo anterior, ¿qué diferencia hay entre estructurar un Set de datos y crear un Set a partir de una query y darle estructura?. Os paso un ejemplo en el archivo "OK como Resultado de un Set con estructura.txt"
He visto que un método para resolverlo es forzar en la carga a que el contenido del set sea de ámbito local, así: {Ois.Load(Ruta)[1]}
¿Porqué sucede esto? me parece peligroso, ¿deberíamos cargar todos los Ois.Load entre llaves?
Mi tol es un 3.2 b019
Un saludo y gracias de antemano
Attachments (2)
Change History (3)
Changed 11 years ago by
Attachment: | OK como Resultado de un Set con estructura.txt added |
---|
Changed 11 years ago by
Attachment: | Error como Resultado de una Query.txt added |
---|
Al margen de que pueda haber algún error en la carga de OIS, la recomendación general es no usar
sino
Sólo se debe cargar en el ámbito global si realmente contiene variables globales de la sesión original que queramos que vuelvan a ser globales en la nueva sesión y que sepamos que no existen ni van a existir.
Si no se va acceder por su nombre TOL a ningún objeto cargado no tiene sentido cargarlo en global.