Después de instalar Cosmos es necesario registrar la Licencia en la máquina en la que se va a utilizar. Para ello, ejecute el programa de Registro de Instalaciones ("register.exe"). Este programa ofrece la posibilidad de efectuar el registro bien de forma manual o bien on-line de forma automática.
Con el Código de Registro proporcionado por el programa, solicite la clave para activar la instalación al Departamento de Soporte de TransTOOLs:
Este proceso deberá repetirse en cada uno de los puestos en los que se vaya a ejecutar esa Licencia, con independencia de que la tengan instalada en su disco duro o no, y sólo podrá realizarse tantas veces como número de instalaciones admita esa Licencia.
Para desactivar una instalación y poder instalarla en otra máquina ejecute de nuevo el programa de Registro de Instalaciones y seleccione la opción de desactivar. Comunique el código obtenido a TransTOOLs para disponer de una instalación posterior o hágalo directamente a través de la página de BAJA DE LICENCIA.
En el menú "pull down" del editor de repositorios se ha añadido la opción "Find".
Al comparar bases de datos o tablas el editor de
repositorios no chequeaba el orden de las columnas.
A partir de esta versión el editor de repositorios chequea el
orden de las columnas al comparar bases de datos o tablas.
Al comparar un repositorio con su base de datos,
si había un "join" con "lookup" el resultado
se mostraba diferente.
Los "lookup" no influyen ahora al comparar bases de datos
con sus respectivos repositorios.
Cuando se generaba un fichero SQL de una tabla
en un repositorio, se incluían en el código las plantillas
("templates").
En la opción "Generate Sql" para una tabla los "templates" no
generan nada.
Había dejado de funcionar la documentación
en el editor de Cosmos y en el editor de repositorios.
Ahora funciona correctamente la documentación tanto en el editor
de Cosmos como en el de repositorios.
Al generar el fichero SQL a partir de una base
de datos para Oracledesde el editor de repositorios se producían
errores sintácticos.
Los ficheros que se generan en el editor de repositorios para Oraclelo
hacen correctamente.
Cuando se creaba un repositorio a partir de una
base de datos no ponía el valor por defecto en los campos
de tipo "DateTime".
Al crear un repositorio a partir de una base de datos se ponen los
valores por defecto en los campos de tipo "DateTime".
Al importar datos de tipo "Date" desde
Oracle, los importaba como tipo "Binary".
La importación de datos desde Oracle se realiza correctamente.
Nuevo método "GetQueryLike" para la clase "FormTable".
Se crea el nuevo método "Unfold" para los controles de tipo "Drop List", "Drop Edit" y "Edit Fields" de tipo "Date/Time Picker" para poder desplegarlos por programación.
Se crea el nuevo método "SelectWindowAt" con nuevos parámetros para posicionar y dimensionar la ventana con relación a la ventana padre.
Nuevo parámetro ("-all") en el comando "Trepidx" para reparar todas las tablas de la base de datos.
Nueva variable de entorno "USELASTFORMASPARENT". Si se define esta variable como TRUE, al cargar un "Form" éste tomará como "Form padre"el último en ejecución. Su valor por defecto es FALSE.
Si teníamos un parámetro de tipo "Form
default NULL" en el método "Main" y no se le
pasaba nada, daba error de protección general.
Se convierten al tipo adecuado los parámetros del método "Main" para
que funcionen correctamente.
No se podía pasar como parámetro
al método "OrderBy" nombres de columnas separados
por comas.
Se modifica el método "Order By" permitiendo pasar
como parámetro el nombre de las columnas separados por comas.
La ventana que creaba el método "SelectWindow" no
asociaba correctamente el padre.
La ventana creada con el método "SelectWindow" se
asocia siempre a un padre, aunque no se le pase ninguno.
No funcionaba el método "SetListIcon" en
los controles "Drop List" y "Drop Edit".
El método "SetListIcon" funciona correctamente en
los controles "Drop List" y "Drop Edit".
Cuando la variable de entorno "DBHOST" se
cambiaba dinámicamente, al pasar de una conexión local
a otra remota no funcionaba correctamente.
Ahora es posible cambiar el contenido de la variable "DBHOST" dinámicamente
para cambiar el tipo de conexión.
Una variable de tipo "Decimal" admitía
el valor "-0".
Una variable de tipo "Decimal" no admite el valor "-
0"; lo interpreta como "0".
No se permitía pasar una variable de tipo "Struct" como
parámetro en el método "Execute" de la clase "SqlStatement",
ni en el método "SqlExec" de la clase "SqlServer".
Ahora es posible el paso de parámetros de tipo "Struct" en
los métodos "Execute" y "SqlExec".
Modificación en los eventos de objetos de
la clase "FormTable".
El evento "ChangingRow" se envía justo antes de cambiar
de fila en un "FormTable".
Se ha creado un nuevo atributo "Scroll" para los controles "Group" de impresión de tipo "As Lines" que permite que sólo se vean los controles hijos que aparecen dentro de los límites del padre.
Nueva propiedad dinámica de Cosmos: "AllowShiftColumns", de la clase "SimpleControl", que permite mover dinámicamente las columnas de un "Grid".
Se permite que un control "Box" de una página pueda tener "Label", así como el atributo "No Label".
Nueva propiedad dinámica de Cosmos: "HideNewRow", de la clase "SimpleControl", que hace que el control "Grid" no muestre la fila cuando ejecutamos el comando "New".
Al definir el tamaño de un control "Grid" con
el tamaño definido en el sistema operativo, no funcionaba
bien al ejecutarlo en otro debido a que los controles "Grid" utilizaban
el tamaño del sistema operativo para mostrar el título.
Se ha eliminado la dependencia que existe al pintar los controles "Grid" con
el tamaño definido en el sistema operativo a la hora de ejecutarlos
en otro. Ahora se muestra el área del título con un tamaño
fijo.
Si un control "Grid" tenía por
delante una columna con hijos (por ejemplo una caja con un "radio
button"), al hacer "scroll" vertical, los controles "Edit
Field" que tenían activas las propiedades "Store
Status" y "Store Design" se repintaban mal.
Los controles "Edit Field" contenidos en un "Grid" y
con sus propiedades "Store Status" y "Store Design" activadas
se muestran ahorta correctamente al hacer "scroll" vertical.
Al incluir un control "Grid" dentro de
un control "Box" que estaba asociado a una tabla y tenía
controles por delante, cambiaban de color las columnas si tenían
activada la propiedad "Store Design". Esto se producía
cuando no era el primer control del "Form", estaba dentro
de una caja y sus columnas tenían la propiedad "Store
design".
Las columnas de un control "Grid" que tienen activada la
propiedad "Store Design" se pintan correctamente.
El movimiento de columnas dentro de un control "Grid" no
funcionaba correctamente debido a que no se podían reordenar
las columnas en ejecución con el método "SetTabOrder".
El mover columnas de sitio ("Tab Order") dentro de un control "Grid" funciona
ahora correctamente.
Se producía un error al salir de un programa
si se utilizaba un control "Drop List" que contenía
filas de más de 20 caracteres.
Los controles "Drop List" no producen error al finalizar
la ejecución de un programa (Cosrun).
Fallaban los controles "List Box" con
la propiedad "Sort" activa al añadir filas después
de aplicarles el método "Reset".
Los controles "List Box" con la propiedad "Sort" activada
se ordenan correctamente después de ejecutar el método "Reset".
La propiedad "Read Only" no funcionaba
correctamente en los controles "Edit Field" de tipo multilínea
si se modificaba por programa.
La propiedad "Read Only" funciona correctamente en los controles "Edit
Field" de tipo multilínea.
Si los controles "Check Box" de impresión
estaban asociados a un icono, el "Run Time" incrementaba
el icono indefinidamente; además, no permitía reimpresión
sin "label" en dichos controles.
Los controles "Check Box" de impresión funcionan ahora
correctamente.
Al cambiar un control de un "Grid/Group" de
visible a invisible no se recalculaban las posiciones de las columnas
que quedaban visibles. En un grupo de tipo "As Lines" las
columnas se debían colocar una detrás de otra automáticamente,
si una se hacía invisible no debía dejar el hueco,
sino que se debían mover las siguientes para ocupar su lugar.
Al cambiar un control de un "Grid/Group" de visible a invisible
las posiciones de las columnas se recalculan correctamente.
Un control "Edit Field" de sólo
lectura permitía escribir cuando pulsábamos la tecla "ctrl" junto
con cualquier otra.
Un control "Edit field" de sólo lectura no permite
escribir nada en él.
Al tener un control "Box" con controles
que estaban fuera de su área de cliente, al hacer "Resize" forzaba
que la caja padre fuese, al menos, del tamaño necesario para
contener todos los hijos.
Al hacer "Resize" todos los controles se comportan de la
forma correcta, es decir, ya no se redimensiona automáticamente
un control "Box" si tiene controles hijos fuera de su área
de cliente.
Al cambiar manualmente el tamaño de una
columna, si ésta tenía controles hijos no recalculaba
el tamaño de éstos a pesar de tenerlos adheridos ("atachados").
Al redimensionar un control por programa se recalcula correctamente
el tamaño de sus controles hijos si éstos están
adheridos.
Al hacer "Drop" de un grupo de columnas
del repositorio con "label" sobre un control contenedor
colocaba las columnas todas juntas.
Al hacer "Drop" de un grupo de variables con "label" sobre
un control contenedor se colocan correctamente.
No funcionaban correctamente las teclas "Copy" y "Paste" en
las ventanas de diálogo del "SQL Interactivo".
Las opciones "Copy" y "Paste" funcionan en todas
las ventanas del "SQL Interacivo".
Se ha corregido un problema de lentitud que existía
en operaciones contra SQL Server al ejecutar cursores "for update".
El problema existía cuando se tenían que analizar sentencias
de gran tamaño.
Si teníamos definida una conexión
para un módulo, al abrirlo y hacer una consulta, adjuntaba
("atachaba") la conexión que teníamos definida
por defecto y no la conexión para el módulo. Al utilizar
el método "Sql" de "Form" sin haber hecho
previamente un "Query" (o similar), devolvía la
conexión por defecto en lugar de la que tuviera defina el
módulo.
Las conexiones en módulos para varias bases de datos se realizan
correctamente, conectándose en cada caso al SQL definido para
cada uno.
En el editor de Cosmos no siempre se mostraban
todos los errores en la ventana de "Output" del compilador.
La ventana de salida del compilador del editor de Cosmos funciona correctamente.
Las opciones del "debugger": "Step
Over" y "Step Out" no funcionaban bien al ejecutarlas
en la última línea del método "Start".
Las opciones "Step Over" y "Step Out" del "debugger" funcionan
ahora correctamente.