IMPORTANTE: Para el correcto funcionamiento de la versión 3.9 de Cosmos es necesario recompilar todo el proyecto si éste ha sido desarrollado con una versión anterior a la 3.8.
Nuevo método de la clase MODULE para conocer
la fecha de creación, modificación y último
acceso a un fichero.
Se ha implementado el método GetFileDate, que devuelve las fechas
en tres parámetros de tipo Date.
Nuevo método de la clase MODULE que devuelve
el nombre del equipo en el que se está ejecutando la aplicación.
Se ha implementado el método GetComputerName, que devuelve por
referencia el nombre del equipo.
Nuevo método de la clase MODULE para conocer
la capacidad de la unidad.
Se ha implementado el método GetDiskSize, que devuelve el tamaño
de la unidad en bytes.
Nuevo método de la clase MODULE para conocer
el tipo de dispositivo de almacenamiento.
Se ha implementado el método GetDriveType, que retorna el tipo
de dispositivo de almacenamiento pasado como parámetro.
Nuevo método de la clase MODULE para conocer
el usuario que está ejecutando la aplicación.
Se ha implementado el método GetUserName, que retorna por referencia
el nombre del usuario que está ejecutando la aplicación.
Nuevo método de la clase MODULE para saber
el tipo de sistema de archivos que se está utilizando (NTFS,
FAT32, etc.).
Se ha implementado el método GetVolumeFileSystemName,
que retorna por referencia un stream con el nombre del sistema que
se está utilizando.
Nuevo método de la clase MODULE que facilita
el nombre del volumen.
Se ha implementado el método GetVolumeName, que retorna por
referencia el nombre del volumen.
Nuevo método de la clase MODULE con el que
se puede consultar el número de serie del disco.
Se ha implementado el método GetVolumeSerialNumber, que
retorna el nombre del disco.
Nuevo método de la clase MODULE con el que
obtiene la versión de Windows que se está utilizando.
Se ha implementado el método GetWindowsVersion, que retorna
la versión del sistema operativo.
Nuevo método de la clase MODULE para poder
abrir un archivo con la aplicación predeterminada.
Se ha implementado el método OpenFileWithDefaultApp, que permite
abrir un archivo con la aplicación asociada por defecto.
Nuevo método de la clase SIMPLECONTROL que
devuelve la variable asociada a un control gráfico.
Se ha implementado el método GetAssociatedVarName, nombre de
la variable asociada al control gráfico.
Nuevo método de la clase FORM para saber
si la ventana está o no maximizada.
Se ha implementado un nuevo método (IsMaximized) que retorna
si la ventana está maximizada o no.
Nuevo método de la clase FORM para saber
si la ventana está o no minimizada.
Se ha implementado el método IsMinimized, que retorna si la
ventana está minimizada o no.
Nuevo método de la clase FORM que ordena
las ventanas minimizadas en el cliente MDI.
Se ha implementado el método MDIArrangeIcons para ordenar en
el cliente MDI el conjunto de ventanas minimizadas.
Nuevo método de la clase FORM que ordena
las ventanas en cascada en el cliente MDI.
Se ha implementado el método MDICascade para ordenar en el cliente
MDI el conjunto de ventanas en cascada.
Nuevo método de la clase FORM que permite
activar la ventana siguiente del cliente MDI.
Se ha implementado el método MDINextChild, que muestra la ventana
siguiente en el cliente MDI.
Nuevo método de la clase FORM que permite
activar la ventana anterior del cliente MDI.
Se ha implementado el método MDIPreviousChild, que muestra la
ventana anterior en el cliente MDI.
Nuevo método de la clase FORM que ordena
las ventanas del cliente MDI en mosaico.
Se ha implementado el nuevo método MDITile, que ordena en mosaico
horizontal o vertical las ventanas en el cliente MDI.
Nuevo método de Prnpag32 para exportar un
listado a un archivo de imagen.
Se ha implementado el método exportimage, que permite exportar
un listado a un archivo de imagen JPEG o BMP.
Nuevo método de Prnpag32 con el que se puede
mover un control en el eje de coordenadas.
Se ha implementado el método movecontrol para mover un control
en el eje de coordenadas.
Nuevo método de Prnpag32 con el que cambiar
el tamaño de un control.
Se ha implementado el método changeSizeControl, que permite
cambiar el tamaño de un control definiendo sus ejes de coordenadas.
Nuevo método de Prnpag32 para conocer la
posición de un control en el eje X.
Se ha implementado el método getXPos para obtener la posición
de un control en el eje horizontal.
Nuevo método de Prnpag32 para conocer la
posición de un control en el eje Y.
Se ha implementado el método getYPos para obtener la posición
de un control en el eje vertical.
No se exportaba la función getControlNameen
la prnpag32.dll.
Este error ha sido corregido.
Error cosrun.exe al utilizar la función
setPropStr y pasarle un decimal entrecomillado en la prnpag32.dll.
Este error ha sido corregido.
Posibilidad de configurar que la instrucción
Load no se corte cuando haya un error y que genere ficheros de log.
Se ha creado una variable de entorno (LOADIGNORERROR) que habrá que
configurar para que Load no se corte en caso de error. No funciona
contra conexiones ODBC.
LOAD. Permitir que se pueda hacer una carga con
LOAD contra una BD distinta de CTSQL a través de ODBC.
Se ha implementado con las siguientes características:
ODBC. Nueva variable de entorno que quita las comillas
del usuario de conexión en caso de que valga YES.
Cuando se conecta manda una SELECT con usuario.tabla, pero el usuario
entrecomillado. Se ha creado una variable de entorno, llamada ALLOWQUOTEDTABNAMES.
Si su valor es YES, quita las comillas.
Gateway Oracle. Cuando se intentaba hacer un UPDATE
de una fila y se pasaba un literal entrecomillado, si tenía
llaves dentro ignoraba lo que iba dentro de las llaves.
Este error ha sido corregido.
Error Inwords inglés.
Este error ha sido corregido.
Se ha añadido la posibilidad de realizar una impresión directa desde la ventana de preview sin mostrar el cuadro de selección de impresoras.
Al abrir un FORM con OpenAsMDIChild, si se cerraba
el FORM y se volvía a abrir, se perdían las propiedades,
por ejemplo el resize.
Este error ha sido corregido.
Al abrir un FORM con OpenAsMDIChild, si se minimizaba
y cerraba, al abrirse aparecía con un tamaño de 1x18
puntos.
Este error ha sido corregido.
Al ejecutar el método System de la clase
MODULE consumía el 100% de la CPU esperando a que terminara
el proceso.
Este error ha sido corregido.
Usando el método LoadSelect para cargar
un LIST BOX no comprobaba si aún estaba conectado y no respondía.
Este error ha sido corregido.
Al crear un módulo con el wizard y usando
un repositorio, si había un campo EDIT FIELD con un tamaño
grande (por ejemplo 32.000) en el código fuente que creaba
lo incluía en la parte en la que pone la posición del
control valores negativos.
Este error ha sido corregido.
Con Ctrl-F o Alt-F3 copia automáticamente
el texto seleccionado a la ventana de búsqueda. Si no hay
texto seleccionado, copia la palabra sobre la que se encuentra.
Había que introducir el texto a buscar en el editor de
Cosmos para buscar la cadena. Ahora copia automáticamente el
texto seleccionado a la ventana de búsqueda. Si no hay texto
seleccionado, copia la palabra sobre la que se encuentra.
Se ha ampliado el tamaño del buffer de los
comentarios del documentador.
Ha pasado de 4.096 a 65.536. Si se llegaba al límite,
daba error de protección general.
Al pulsar en un fichero PAG con el botón
derecho-Edit, saltaba error de protección general.
Este error ha sido corregido.
Cuando nos referíamos a la propiedad NumColumns
de un LIST BOX, el compilador nos indicaba que la propiedad no existía.
Sólo era accesible con SetProperty y GetProperty.
Este error ha sido corregido.
Background de la línea en curso del editor
de diferente color al resto.
Esto se hace para facilitar la localización del cursor.
Acceso a la función anterior o siguiente
del fuente actual en el editor de desarrollo.
Se ha implementado la posibilidad de acceder en el editor del
entorno de desarrollo a la función anterior o siguiente del
fuente actual.
Problema de refresco en los DROP LIST y DROP EDIT
cuando los datos a mostrar en la ventana desplegable ocupaban más
que la cabecera del control.
Este error ha sido corregido.
Facilidad de movimiento en el entorno de desarrollo.
Se ha implementado la posibilidad de hacer scroll en el editor
del entorno de desarrollo con la rueda del ratón.
Tecla de inicio mejorada en el editor del entorno de desarrollo.
A la hora de cambiar de tipo una variable asociada
a un control, no comprobaba si la variable estaba asociada a un control
y si el nuevo tipo de la variable lo permitía. Esto podía
provocar errores de cosrun en ejecución e, incluso, problemas
de memoria en el entorno de desarrollo.
Este error ha sido corregido