Cosmos. Novedades y mejoras de la versión 4.4
Implementaciones
- Posibilidad de utilizar el Scroll con la rueda del ratón en
la pantalla de Preview.
- Posibilidad de utilizar la tecla Escape para cerrar la ventana del
método SelectWindow de la clase SqlServer.
- Posibilidad de que el gestor de base de datos se pueda ejecutar con
o sin monitor. Para ello, se ha añadido una nueva variable de
entorno: ALLOWNOMONITOR. Esta variable de entorno se define en el fichero
de configuración del gestor. Si se le asigna el valor YES, el
gestor admitirá conexiones sin necesidad de que el monitor esté arrancado,
mientras que si se le asigna el valor NO será necesario arrancar
el monitor para que funcione.
- Icono de ordenación en los controles tipo lista.
- Método SelectWindow de la clase SqlServer. A partir de esta
versión el foco de la ventana se posiciona directamente en el
primer registro.
- Posibilidad de que un botón definido con borde de tipo Hilight
Border pueda recibir el foco.
- Posibilidad de que en un botón que tiene marcado el check de "No
Label" se ejecuten las acciones que tiene asociadas al pulsar la
tecla Intro (Enter).
- Posibilidad de que en los controles Drop Edit se puedan utilizar las
teclas de AvPág y RePág.
- Mejora el rendimiento en las consultas que se realizan desde la aplicación
Csql (Sql-Interactivo) y desde el método SelectWindow de la clase
SqlServer.
- El método GetWindowsVersion de la clase module devuelve la versión
correcta en el caso de ejecutarse en Windows Vista.
- A partir de esta versión, los controles de tipo Box pueden representarse
en modo XP. Para ello, se ha creado la variable de entorno DRAWBOXINXPSTYLE.
Para que los controles se dibujen en modo XP el valor de esta variable
debe ser TRUE (su valor por defecto es FALSE).
- Se ha creado una nueva variable de entorno (REFRESHQUERYPROGRESSWINDOW),
que indica cada cuántos registros se actualizará la ventana
de progreso en las consultas a bases de datos donde esté desactivado
el buffering.
- Captura de Rclick en controles Text, Percentage box, Spin, Drop Edit
y Drop List. Se permite utilizar el botón derecho en todo el control Slider, no solo
en la "aguja".
- Cosrep. Se ha añadido un nuevo parámetro al comando
cosrep:
- noshowsqlwindow. Este parámetro permite que no se muestre
la ventana en la que aparece la información de la sentencia
Sql a ejecutar o bien las diferencias encontradas entre el repositorio
y la base de datos.
- Comunicación Cosmos-Java. Se permite la reutilización
de la lógica de negocio escrita en Cosmos desde Java tanto en
arquitectura Web (clientes ligeros) como en cliente-servidor. Es decir,
se podrán realizar llamadas directamente desde Java a métodos
con cálculos complejos programados en Cosmos (stock, facturación,
etc.), de manera que no sea necesario reprogramar la lógica de
negocio de nuestra aplicación.
- Posibilidad de dibujar controles con texto en vertical. Los
controles que permiten esta propiedad son:
- Controles tipo Text para las Clases Form y Page.
- Controles
Variable de la Clase Page.
- Se ha creado una nueva variable de entorno (PAGEOVERFLOWMESSAGE)
que permite indicar el texto del mensaje que se desea mostrar al usuario
cuando Cosmos detecta que el listado que se está generando no
se podrá visualizar completamente. Esta variable de entorno se
define en la sección Environment Global del fichero de configuración
de Cosmos.
- Se ha creado una nueva variable de entorno (DRAWCHECKRADIODISABLEDASENABLED)
para que el aspecto visual de los controles Check y Radio Button sea
el mismo, tanto si están habilitados como si no. Esta variable
de entorno se define en la sección Environment Global del fichero
de configuración de Cosmos. Los valores que admite son: TRUE y
FALSE. El valor por defecto es FALSE.
- Posibilidad de cerrar con la tecla Esc un control Calendar.
- Cosrep. El fichero Sql que se genera desde el repositorio con las diferencias
encontradas entre el repositorio y la base de datos con la que se está comparando
genera una sentencia "Alter table" por cada diferencia encontrada y
por cada tabla. No se creará una instrucción "Alter
table" por cada tabla como se hacía hasta ahora.
- Cosmos. Se ha añadido un acceso al editor de esquema
de datos en el entorno de desarrollo.
Métodos de la Clase SimpleControl
- IsFolded. Este método permite saber si un control DropEdit o
DropList está plegado o desplegado. Devuelve TRUE si el control
está plegado o FALSE si está desplegado.
Métodos de la API "Prnpag 32.dll"
- SetXPos. Permite establecer la posición X de un control
de la página respecto a su control padre.
- SetYPos. Permite establecer
la posición Y de un control de
la página respecto a su control padre.
- CalculateAndSave. Recalcula
las dimensiones de la página
y de sus controles, así como el número de elementos visibles
que admite cada control de impresión de tipo grupo, y guarda las
modificaciones en el fichero PAG que recibe como parámetro.
Generador de listados
Se han realizado modificaciones en el EasyReport y en el Editor de
Esquemas Conceptuales de Datos.
EasyReport
- Creación de informes en Documentos Page de Cosmos, permitiendo
la generación de listados con componentes gráficos, lo
que proporciona un resultado más atractivo para el usuario.
- Creación de Hojas de Estilo para personalización de los
listados. A través de esta opción el usuario puede seleccionar
los colores, las fuentes, etc. de cada uno de los elementos del informe
sin necesidad de retocarlo, siendo EasyReport el encargado de aplicar
los valores en tiempo de ejecución.
Editor de Esquema Conceptual de Datos
- Posibilidad de incluir en un Esquema Conceptual
de Datos el resultado de una sentencia "select" de Sql. Esta
sentencia puede realizarse sobre una o varias tablas de la base de datos.
Editor de Hojas de Estilo
El editor del EasyReport permite modificar los siguientes
atributos:
- Tipo y tamaño de la fuente.
- Color de fondo y del texto.
- Patrón de fondo. Los valores posibles
son: Solid y Transparent.
- Alineamiento horizontal del texto de las columnas.
Estos atributos se
podrán modificar para cada uno de los elementos
del informe.
En tiempo de diseño este editor permite visualizar
las modificaciones que se están realizando en la hoja de estilo.
Exportación de listados a Excel
Incorporación de un nuevo botón en el drw del Preview de
Cosmos para exportar los listados generados de la clase Page de Cosmos
a una hoja de cálculo de Microsoft Excel.
La exportación de listados a Excel es compatible con la versión
Microsoft Office XP (Office 2002) o posteriores. Para Microsoft Office
2000 sólo se podrán guardar los listados con extensión "csv".
Gráficos estadísticos
Implementación de DLL: "ttchartdll.dll", que permite
generar gráficos de tipo Chart.
Los tipos de gráficos que se pueden generar son los siguientes:
- XY: Gráficos de tipo barras, líneas, área
y líneas escalonadas. La DLL permite crear diferentes capas de
datos compatibles entre sí, así como también la
coexistencia de capas de distinto tipo (barras, líneas, área
y líneas escalonadas).
- Tarta: Gráficos de tipo tarta cilíndrica
y tarta tipo torus.
Las funciones que implementa esta DLL son las siguientes:
- ChartAddLegend: Para definir una leyenda
en el control gráfico.
- ChartEnableBlur: Habilita o deshabilita el
efecto niebla en el control gráfico.
- ChartIsHorizontal: Esta función permite
consultar si el gráfico ha intercambiado o no los ejes X e Y.
- ChartLayerSet3D: Permite indicar si la capa
de datos nchartlayer del gráfico del control UserControl indicado
por hWindow se mostrará en dos o en tres dimensiones.
- ChartLayerIs3D: Permite consultar si la capa
de datos nchartlayer del control gráfico definido en hWindow se
dibujará en tres dimensiones.
- ChartRemove: Libera en memoria el espacio
ocupado por un chart, dejando el UserControl disponible para mostrar
otro chart.
- ChartSetPanelBackColor: Permite definir el
color de fondo del panel de datos en un gráfico tipo XY.
- ChartSetTitle: Para indicar el texto que
se mostrará como título en la parte superior del control
gráfico.
- ChartSetXAxysLabels: Etiquetas que se mostrarán
en el eje X debajo de cada uno de los elementos del control gráfico.
- ChartSwapXY: Permite intercambiar la posición
de los ejes X e Y, de modo que X sea el eje vertical e Y el horizontal.
- InitChartWindow: Inicializa la ventana del
control UserControl donde se va a dibujar el gráfico.
- NewChartElement: Añade un elemento
a la capa de datos nchartlayer del gráfico contenido en la ventana
UserControl definida por hWindow.
- NewChartLayer: Crea una nueva capa de datos
en el control gráfico.
- NewPieChart: Define un nuevo control gráfico
tipo tarta o torus en la ventana del control UserControl que se pasa
como parámetro.
- NewXYChart: Define un nuevo control gráfico
de tipo XY (barras, líneas y áreas) en la ventana del control
UserControl que se pasa como parámetro.
- RemoveChartElement: Permite eliminar un elemento
de una capa de un chart.
- SetChartBackColor: Permite definir el color
de fondo del gráfico.
- UpdateChartElement: Para modificar el valor
y los atributos de un elemento de una capa de un chart.
DBManager
DBManager es una aplicación diseñada para facilitar el trabajo
que conlleva la administración de una base de datos creada con el
motor CSTQL, Cosmos o MultiBase.
Desde DBManager el administrador de la base de datos podrá, de
manera sencilla, consultar tablas, columnas, índices, foreign keys,
procedimientos almacenados, triggers y vistas que constituyen su base de
datos. En definitiva, podrá disponer de una visión global
de la misma.
De igual manera, podrá crear, modificar y borrar tablas, columnas, índices,
foreign keys, triggers y vistas. Para ello, la aplicación dispone
de una serie de pestañas en las que se muestra información
de los distintos componentes de la base datos.
Correcciones
- Cosrep. Problemas al comparar con BBDD.
Si se comparaba un repositorio con una BBDD en la que existía
un índice formado por 8 campos, ignoraba la existencia del resto
de los índices.
Corregido
- Cosrep.
Al generar repositorios con índices de 8 partes no generaba el
resto de los índices.
Corregido
- Método GetListText de la clase SimpleFormControl.
En un control tipo lista en árbol devolvía "basura" cuando
se intentaba consultar el valor de un nodo que no existía.
Corregido
- A la hora de deshabilitar todas las opciones de un submenú,
no es necesario ir una por una. Es suficiente con deshabilitar la opción
padre.
Corregido
- Al definir un botón en un formulario con las características
No Label y borde Standard, el botón, aunque reciba el foco no
quedaba marcado.
Corregido
- Método GetListColumnText de la clase SimpleControl.
El tamaño de la cadena retornada quedaba recortada en 256 caracteres.
Corregido
- El método GetFileDate() de la clase Module no tenía en
cuenta el horario de verano, por lo que devolvía una hora menos
de la real.
Corregido
- Ctsql Windows.
Un problema en el motor Ctsql para Windows a la hora de crear tablas
temporales podía provocar que apareciera el mensaje de error: "Imposible
crear tabla temporal".
Corregido
- Método RemainingSpace de la clase SimpleControl.
Devolvía un valor erróneo de un punto más en determinadas
circunstancias, lo que podía provocar que no se imprimiese correctamente
la última banda dentro de un control BandGroup.
Corregido
- Si se definía como atajo de teclado un número del 0 al
9 en un control, no existía la posibilidad de utilizar las teclas
del teclado numérico.
Corregido
- Método GetObject de la clase SimpleControl para ActiveX.
En el caso de que el objeto sea null devuelve el ActiveX del control.
Corregido
- El método Fetch de la clase SqlCursor modificaba los valores
de las variables host aun en el caso de no haber leído ningún
registro.
Corregido
- Si un control EDIT tipo "datetimepicker" tenía definido
el evento "on error" para que se pudiese ver el calendario,
no pasaba por él.
Corregido
- Control Percentage Box en modo XP con Ticks.
No liberaba recursos.
Corregido
- Control Edit fieldtipo datetimepicker.
No enviaba la notificación EditChange.
Corregido
- Al cargar los iconos de ficheros ico no se liberaban recursos.
Corregido
- Si estaba asignado el número 3 a una tecla rápida y se
pulsaba AltGr-3 para escribir "#", Cosmos ejecutaba la acción
asociada a la tecla y no escribía el carácter "#".
Corregido
- En un control Edit Field con las propiedades combo e icon y en modo
XP, no mostraba el icono.
Corregido
- En los controles RadioButton y Check, las propiedades DEACTIVEDPKCOLOR
y DEACTIVEDTEXTCOLOR no mostraban el color que se les indicaba.
Corregido
- En determinadas circunstancias, las variables definidas como TRANSPARENT
en listados Cosmos no respetaban esta propiedad.
Corregido
- En un control Grid con la propiedad Automatic sort en un mantenimiento
tipo cabeceras/líneas, se perdía la cláusula where
al pulsar en la cabecera del grid para reordenar por una columna determinada.
Corregido
- El método GetPortName no retornaba correctamente el puerto cuando
la impresora se selecciona con AttachPrinter.
Corregido
- Al imprimir a través de la DLL "prnpag32.dll",
en algunos modelos de impresoras HP no respetaba el tipo y tamaño
de la fuente seleccionada para el listado.
Corregido
- Cosrep. Si en una tabla se creaba un campo tipo smallint con
valor por defecto -1, la sentencia Sql que se generaba era: "Alter
table xxx add campo smallint default -1". Al ejecutar esta instrucción
provocaba un error sintáctico.
Corregido
- Corrección de diversos errores en la comunicación
de Cosmos a través de sockets (servicios remotos).