Xailer: Lo nuevo
(Texto en rojo indica modificaciones que pudieran romper su actual código)
Novedades en la versión Xailer 2.6.0
- IDE:
- Nuevo look para el IDE
- Correcciones y mejoras en el manejo de Plugins
- Correcciones en visualización de calltips
- Comportamiento errático de TUpDown en modo diseño
- Error de Intellisense cuando se cambiaba de ámbito de clases sin provocar edición alguna
- Error de Intellisense cuando la definición del método incluía un comentario
- Error de intellisense con 'componentes' del proyecto
- Mostrar los tabuladores como espacios en el menú del historial del portapapeles
- Opciones de menú-especial no funcionaban con selecciones rectangulares
- SQLite Editor: Mostrar sentencias CREATE VIEW en ventana SQL
- Incluidos algunos tipos en menú contextual 'Cambiar a...'
- Mejoras en el editor de menús
- Nueva opción de 'Confirmar borrado de controles' en la configuración
- Error en construcción de 'Ejecutable final': No funcionaban los parámetros del instalador
- Mostrar y llevar a primer plano el gestor de proyectos al abrir un proyecto
- Bug esporádico al editar una propiedad con botón "..."
- General:
- Es necesario recompilar todos los fuentes (incluidas librerías) debido a cambios en constants.ch
- Errores de ejecución en Windows 98
- Añadidas funciones del API de GDI+ 1.1
- Soporte de transparencia en imágenes de fondo (sólo PNG)
- Controles
- TLabelEx: Nuevo control tipo TLabel con funcionalidad extendido tipo HTML
- TCefBrowser: Nuevo control nativo tipo Web browser basado en Chromium (Solo disponible para versión Enterprise)
- TWinControl: Nuevas propiedades nGradient y nClrPaneEnd
- TWinControl: Nuevas propiedades nBkgndMarginX y nBkgndMarginY
- TWinControl: Nuevos valores de nBkgndMode: blTOPLEFT (sinonimo de blCOPY), blFIT, blFITSMOOTH, blFILL y blFILLSMOOTH
- TClipboard: Devolver el contenido como cadena de texto cuando se manejan formatos no soportados nativamente por el portapapeles como HTML, RTF, etc.
- TUpDown: Typo en valor de retorno de OnChange
- TMenu: No se destruían los menús popup en entornos del tipo TFormFolder
- TStatusBar: Bug en GetItemRect(): no se calculaba correctamente el ancho de los paneles sin texto y con imagen
- TListView: Nuevo método SetBkImage() para poner una imagen de fondo
- TReport: Error en cálculo de coordenadas en PrintAtCol()
- TReport: Incorrecta ejecución de evento en PrintTotal()
- TReport: Restablecer orientación de página cuando la cambiaba el propio TReport
- TPrinter: Nueva propiedad nPDFPrinter
- TPreviewControl: Mostrar botón de exportación a PDF cuando Printer:nPDFPrinter > 0
- TPage: Permitir cambiar la transparencia, el color y el fondo de cada TPage individual
- TListView: El evento OnCheckStateChanged no se disparaba con teclado
- TListView: Al hacer doble click sobre un checkbox, no cambiaba de estado
- TControl: Nuevo evento OnDispTooltip( oSender, @cText, @cTitle, @nIcon, nItem )
- TFileSaveDlg: No funcionaban las propiedades lNoTestFileCreate y lOverwritePrompt
- TBrowse: No se recalculaba bien la barra de scroll cuando estaba activa la edición automática
- TFileOpenImageDlg: Agregados PNG y TIFF a las mascaras
- TEdit: Los edit con lTabStop = .F. disparaban dos veces el evento OnExit
- TShiftPanel: Los controles dentro de un shiftpanel cerrado seguían recibiendo el foco
- TTooltip: Pérdida de memoria
- TPicture: Nuevas propiedades nImageType y nImageIndex
- TPicture: Añadido parámetro adicional para forzar la carga a través de GDI+ en Load(), LoadFromFile(), LoadFromResource() y LoadFromStream()
- TPicture: Soporte de PNG y TIFF por medio de GDI+ (ya no es necesario FreeImage.dll)
- TPicture: Save() y SaveToStream() no tenían en cuenta el parámetro de tipo de imagen
- TExplorerBar: Nueva propiedad oPicture (muestra una imagen en la esquina inferior derecha)
- TControl: Pérdida de memoria en WMHelp
- TSysVer: Nueva propiedad lIsWow64
- DataControls
- No cancelar la edición cuando el evento OnSave retorna falso
- TSQLiteDataSource: Nueva propiedad lReadToCache
- Funciones
- Nueva función XA_lIsWow64
- Ejemplos
- samples\DragDrop: Actualizado con operaciones con browses
- samples\labelex: Ejemplo del control TLabelEx
- samples\cefbrowser: Ejemplo del control TCefBrowser
- Documentación
- Actualizada a los últimos cambios
Novedades en la versión Xailer 2.5.1
- IDE:
- Correcciones varias en Intellisense
- Mejoras en la gestión de Plugins
- Al copiar controles, se duplicaban sus eventos en el .xfm
- Error al intentar borrar un ExplorerGroup
- Ajustes en el guardado de la propiedad oFont de los controles
- Error al copiar elementos con aItems que no eran objetos (p.ej. listbox)
- SQLite Editor: Nueva funcionalidad en editor para ejecutar procesos BATCH
- General:
- Debido a cambios internos en el sistema de Plugins es necesario reconstruirlos
- Controles
- TOcx: No dejaba escribir caracteres acentuados dentro de un OCX
- TControl: Al hacer click fuera de un menu popup, siempre se disparaba la opcion por defecto. Usar nuevo parámetro lCanceled para conseguir misma funcionalidad
- TControl: Nuevo parametro lCanceled en ShowPopupMenu(), que se recibe por referencia y se rellena a .T. si el usuario ha cerrado el menu sin seleccionar una opcion
- TControl: Usar oFont del formulario si oFont = Nil y lParentFont = .F.
- Ejemplos
- samples\MetaControls\Office2007Buttons: Ejemplo de metacontrol que crea un boton con estilo Office2007 a partir de un TGlassBtn
- samples\Plugins\MoreOptions: Nuevas opciones y mejoras. Ahora utiliza un diálogo en vez de un menú
- samples\Plugins\HelloWord: Plugin basico para usar como plantilla o como punto de partida de otros plugins
- Documentación
- Actualizada a los últimos cambios
Novedades en la versión Xailer 2.5
- IDE:
- Nuevo: Sistema de copiar/pegar controles en los formularios que corrige problema de controles con objetos en aItems
- Nuevo: Soporte de Intellisense
- Nuevo: Soporte de Plantillas (Archivo->Nuevo->Desde plantilla y Archivo->Guardar como plantilla)
- Nuevo: Soporte de Metacontroles
- Nuevo: Soporte de Plugins y gestor de Plugins en menú Componentes->Plugins
- Nueva ventana de inicio cuando no hay ningún proyecto cargado
- Actualizado scintilla a 2.1.2
- Soporte de hotspots (URLs) en los comentarios en Herramientas->Opciones del editor->Apariencia
- Nuevo botón para restaurar los colores por defecto desde el formulario de configuración del IDE
- Arreglado bug al guardar propiedad TOptionItem:Cargo
- Error de salvado en la propiedad oExplorerGroup:Cargo
- Error esporádico al cerrar proyecto
- Error al cambiar el color de la fuentes de más de un control a la vez
- Busqueda de TODO/TOFIX en comentarios multilínea
- Completadas las traducciones en todos los idiomas soportados
- Nueva opción "Establecer módulo principal" en el árbol del gestor de proyectos
- Reescrito el editor de valores numéricos con decimales en el inspector de objetos para que funcione en línea sin mostrar ningún formulario
- Mostrar información sobre el fichero en curso en la tooltip de las pestañas del editor
- Nueva opción "Cerrar todas las pestañas" en el menú contextual del área de mensajes
- Al pulsar F2 sobre un control en el editor de formularios se entra a editar la propiedad 'cText'
- Al pulsar F2 en el inspector se activa la edición 'extendida', si la propiedad lo soporta
- Indicar el número de ocurrencias y ficheros en 'Buscar en ficheros'
- SQLite editor: mostrar las sentencias DDL que se ejecutan en cambios de tabla
- Mostrar el número de elementos que contienen las vistas ToDo, Puntos de ruptura y Marcas como tooltip de la pestaña
- Al hacer doble click en una línea de error de un .h, no se mostraba en el editor
- Al hacer doble click en la pestaña del editor seleccionar el archivo en el gestor de proyectos
- Detener la compilación al intentar cerrar la pestaña "Compilar" del área de mensajes
- No lanzar la compilación si ya se está compilando
- Mostrar las calltips alineadas con la función
- Recordar la altura de la ventana Output entre sesiones
- Permitir cerrar la ventana Output con ESC desde el editor de código
- Bug al seleccionar código entre paréntesis con Ctrl+E
- Opción para configurar carpetas de usuario en Herramientas->Opciones->Carpetas->Carpetas de usuario
- Permitir personalizar la fuente para Intellisense en Herramientas->opciones del editor->Calltips e Intellisense
- Usar Enter para pasar al editor de código desde el visor de marcas, puntos de ruptura y tareas
- General
- Colors.ch: La definición de colores del tipo CLR_nombre son obsoletos y se eliminarán en la siguiente versión de Xailer
- Controls.ch: Eliminado #translate ?
- DataControls
- TDbfDataset: Error en uso lReuseDel
- TDbfDataset: Mejorar la información del error en el método OrdSetFocus()
- TMySQL: Soporte de DateTime y TimeStamp
- Formularios
- Nuevo evento OnCopyData()
- Controles
- TGlassBtn: Nuevo control tipo botón utilizando GDI+
- TShiftPanel: Nuevo control tipo TPanel
- TOcx: Correcciones en el control del foco y otros problemas
- TRichEdit: Error en método GetLine()
- TRichEdit: Corregida forma de crear oFont en método Create
- TRichEdit: Cargar filtros de conversión de Office 2010
- TRichedit: Buscar los filtros de conversión en el directorio de la aplicación
- TMessagebox: Corregido valor de retorno en Run()
- TMessagebox: Permitir mostrar el timeout también en el título
- TStatusPanel: Ajuste en el cálculo de la posición de controles embebidos en paneles
- TEditBtn: Nuevos estilos ebARROW y ebPROMPT
- TEditBtn: Nueva propiedad cPrompt
- TBtnBmp: Nuevos estilo fsRAISED
- TColorComboBox: Nueva propiedad lAddColor
- TDBBrowse: Evitar posible error en destrucción del formulario
- TAdoDataSource: Bug en método Execute() al devolver un recordset
- TBrwCol: Incorrecto posicionamiento del menú contextual en oHeader
- TListViewGroup: Establecer correctamente cHeader, cFooter, nHeaderAlign y nFooterAlign
- TListViewColumn: Establecer correctamente nAligment
- TListViewColumn: Mostrar correctamente la imagen al cambiar nAlignment
- Otras clases
- TBlatMail: Error en lReceipt
- TBlatMail: Nuevas propiedades: lUndisclosedRecipients, nTimeOut, nTries y nAuth
- TMailSlotServer y TMailSlotClient: Nuevas clases para intercambio de datos entre aplicaciones
- TCanvas: Nuevos métodos AngeArc, Arc, ArcTo, Chord y Pie
- TCanvas: Nuevo método GetPos()
- TMenu: Nuevo método Refresh()
- TComboBox: No quitar los espacios al añadir elementos
- TCalculator: Nuevo parámetro para pegar el resultado de la calculadora al control activo
- TRecentList: No se refrescaba la lista al establecer las propiedades lAutoSave y lAutoRemove
- TFileOperationDlg: Nuevas propiedades lFilesOnly y lNoCopySecurityAttrib
- Funciones
- Nuevas funciones AngleArc(), Arc(), ArcTo(), Chord() y Pie()
- Nueva funcion SendWMCopyData()
- Nueva funcion SHGetFolder()
- Función MakeNestedDir() devuelve código de error compatible con DirMake()
- Función GetFileVersionInfo() obtiene información de versión de ejecutables y DLLs
- Soporte íntegro del api GDI+ (609 funciones)
- Ejemplos
- samples\MetaControls\PanelOkCancel: Ejemplo de metacontrol que construye un panel que contiene un botones Aceptar y otro Cancelar con varias propiedades preestablecidas
- samples\GlassBtn: Ejemplo de control TGlassBtn
- samples\ShiftPanel: Ejemplo de control TShiftPanel
- samples\Plugins\MoreEdit:Ejemplo de un plugin con dos extensiones:
- Menu MoreEdit: agrega un menú al menú Edit con las opciones SetCaseUpper/Lower/Capitalize, iguales a las del menu Especial, opción de invertir mayúscuals y minúsculas, opción de ordenar líneas A-Z o viceversa y opción de renumerar defines numéricos
- Opcion QuickFind: agrega una opción al menú Buscar que muestra un formulario para buscar y/o marcar interactivamente como en Firefox
- samples\Plugins\MoreOptions:Ejemplo de un plugin que añade una opción "Opciones extra del editor" al menú Herramientas y permite personalizar varios aspectos del editor de código
- samples\MailSlot\Server y samples\MailSlot\Client:Ejemplo de uso de Inter Process Communications (IPC) usando MailSlots
- samples\WMCopyData\Server y samples\WMCopyData\Client:Ejemplo de uso de Inter Process Communications (IPC) usando SendWmCopyData y evento TForm:OnCopyData
- samples\GdiPlus\Exif: Mostrar informacion EXIF de imágenes
- samples\GdiPlus\Convert: Conversión entre formatos de imágenes
- Documentación
- Actualizada a los últimos cambios
Novedades en la versión Xailer 2.4
- IDE:
- Uso de pestañas en el área de mensajes
- Soporte de búsquedas globales en todo el disco
- Nueva funcionalidad para actualización automática del estado de May-Min de las variables y miembros de clases según su definición
- Ampliado sistema de búsqueda de definición bajo el cursor para que tambien busque en todo el proyecto
- 'Detener programa' no funcionaba correctamente en Windows 7 64 bits
- Nuevo sistema de visualización de comentarios TODO y TOFIX (definibles)
- 'Ver marcas' pasado al área de mensajes
- Creación de repositorios de SVN desde el IDE
- Permitir expandir abreviaturas en lineas no vacias
- Respetar el indentado al expandir en una linea no vacia
- Conservar texto posterior si existe al expandir
- Nueva opción de menú Editar->Especial para operaciones de cambio May-Min
- Modificado sistema de comentarios automático para que no pierda su estado inicial
- Bug al autocompletar :: en un modulo vacio
- Visor de puntos de ruptura pasado al área de mensajes
- Mostrar datos básicos de miembro oFont y a Margins en inspector de objetos
- Al usar la opción 'Abrir carpeta contenedora' dejar seleccionado el archivo desde el que se solicitó (Windows XP o posterior)
- DataControls
- TAdoDataSource: Evento OnCreate no se disparaba
- Sqlite y MySQL: Error con instrucciones sin 'Select'
- TDbfDataset: 'work around' para ADS con tipos 'image' por error de xHarbour
- Controles
- TBrwColumn: Error en paso de parametros de HeaderClick
- TBrowse: Nuevos métodos AdjustCols() y StretchCols()
- Otras clases
- TApplication: Error en métodos CurrentDir y CurrentDrive
- TBlatMail: Nueva propiedad cCharset
- TFileOperationDlg: Nueva propiedad lFilesOnly
- Ejemplos
- Nuevo control TLabelShadow en Samples.DLL
- Documentación
- Actualizada a los últimos cambios
- Ampliada sustancialmente la documentación del control TRichEdit
Novedades en la versión Xailer 2.3.2
- IDE:
- Corregido error en opción de menú Herramientas cuando no había ningún proyecto activo
- Al añadir un subproyecto no aparecia en el treeview del gestor de proyectos
- Correcciones en 'Limpiar proyecto'
- Evitar parpadeo por recarga de árbol de proyectos
- Mejorar deteccion de proyectos en formato antiguo
- Resaltar fondo de los parentesis con su color inverso
- Al pegar desde un elemento pasado del portapapeles, se insertaba el texto, en vez de reemplazar
- No borrar DLLs en 'Limpiar proyecto'
- Correción de errores en publicar proyecto
- En determinadas circunstancias, el IDE perdia completamente la fuente
- Al grabar un nuevo modulo, despues de renombrarlo, no se refrescaba el editor
- Bug al autocompletar :: en un modulo vacio
- Añadidas nuevas funciones de consola de Clipper para Intellisense (841 funciones)
- DataControls
- MySql: Mecanismo de 'ping' para asegurarse de que MySQL sigue activo
- MySql: Bug en Day(), Month() y Year() con fechas vacias guardadas como cadenas
- Controles
- TComboBox: Compatibilidad con WINE en linux
- TRichEdit: Nuevas propiedades lProtected, lSmallCaps, nHighLight y métodos HasText(), GetFirstVisibleLine(), GoBotom(), GoTop(), SetProtected() y SetSmallCaps()
- TRichEdit: Liberada la memoria del menu oPopup
- TRichEdit: Modificado FindText() para que devuelva .T. si encontrado y .F. si no
- TOptionList: Soporte de eventos OnLButtonDown y OnClick en zonas sin items
- TBrwColumn: Control de headers en varias lineas para construccion del menu contextual
- Otras clases
- TApplication: Cambio punto de comprobación de datasources cerrados
Novedades en la versión Xailer 2.3
- General:
- IDE:
- Soporte de CVS y Subversion
- Soporte de calltips anidados y parametro resaltado
- Lista de funciones de calltips actualizada
- Soporte de autocompletado para funciones y componentes del form
- Nuevo metodo AddEventCode en la clase TWizard para creación de asistentes
- Mostrar Proyecto/subrproyecto en el visor de marcas y puntos de ruptura
- Soporte de espacios en los nombres de los directorios
- Soporte de UTF-8 (con y sin BOM)
- Permitir cambiar el 'charset' desde la barra de estado del editor
- Filtrado mejorado en el combobox de métodos y funciones del editor
- Error en el grabado de marcas
- Error en módulo BTS
- Error en opción "Guardar como..."
- Error en opción: Abrir archivo bajo el cursor
- Error al importar y 'Cerrar todo' cuando no había ningún proyecto abierto
- Perdida de font al cambiar el tipo de control en TBrowse
- Error en apertura del fichero bajo el cursor con subproyectos
- Control de modificado de recursos en el proceso de enlazado
- Error de foco en la creación de nuevos formularios con el asistente
- DataControls
- MySql: Error en BuildSqlSt() al usar fechas vacias
- Controles
- TFilterComboBox: Nuevo control Combos con filtrado en pestaña samples
- TMaskEdit: Quitar máscar "R" en cPicture con valores tipo carácter
- TRichEdit: Soporte de versión 6.0 o superior de RichEd20.dll
- TRichEdit: Nueva propiedad lRE60
- TRichEdit: Nuevo método GetLine( nLine )
- TBrwColumn: Modificado SetFont para que cambie el font de su GridEdit
- Otras clases
- TApplication: Error al sobrecargar la clase
- Funciones
- Nueva función FileDateTime( cFile ) --> dtDateTime
- Documentación
- Actualizada a los últimos cambios
Novedades en la versión Xailer 2.2
- IDE:
- Nuevo gestor de multi-proyectos (soporte de subproyectos)
- Nueva barra de herramientas en el editor de código
- Completo rediseño interior
- Error en procesamiento de Auto Update
- Errores en formualrio gestor de marcas
- Nuevas propiedades en los módulos
- SQLite Editor: Ordenación de tablas
- DBF Editor: Ordenación de tablas
- Error en opción: Abrir archivo bajo el cursor
- Error cuando se quitaba la imagen y se volvía poner en la cabecera de TBrowse
- Data controls
- TMySQLRecords: Soporte segundo valor en cláusula LIMIT
- TADODatasource: Modificación para evitar perdidas de memoria de xHarbour con objetos COM
- TDBFDataset: Mejorado IsRecordLocked para que funcione con bloqueos de terceros
- TDBFDataset: Cambio en RecLock() para conseguir identica funcionalidad que DbRLock()
- TDataField: Añadido tipo 'AutoInc' al método BasicType()
- Controles
- TMaskEdit: Error con máscara @R y uso de "." en plantilla
- TComboBox: nDropppedWidth con valor -1 provoca el cálculo del ancho perfecto
- TToolBar: Nuevo evento OnDropDown( oSender, nItem )
- TTreeView: Error en evento OnEndLabelEdit
- Otras clases
- TExStruct: Ajustar la longitud de las cadenas a su definicion
- TExStruct: Nueva propiedad lPadStrings
- Ejemplos
- Nuevo ejemplo de uso del componente TFindFile
- Nuevo ejemplo de uso del componente TSysImageList
- Documentación
- Actualizada a los últimos cambios
Novedades en la versión Xailer 2.1.4 y 2.1.3
- Controles
- TRichEdit: Corregidos problemas en metodo GetPrintHeight() al calcular el alto del control
- TToolBar: Error en cálculo de la altura cuando había algún botón con menú
- TMonthCalendar: Evento OnChange() no se disparaba correctamente
- TInternet: Nuevo método AddRequestHeader( nHandle, cData, nFlags )
Novedades en la versión Xailer 2.1.1
- IDE:
- Cuando se hacía Click sobre un control TRichEdit con regla el control cambiaba de posición
- Error en carga de imagenes en controles TBtnBmp
- Error en sistema de AutoUpdate
- Nuevo editor de margenes para la propiedad TRichEdit:aMargins
- Controles
- TFolderpage: Cuando se establecía su propiedad lEnabled se actualizaba el estado de sus controles hijos sin tener en cuenta su estado anterior
- Otras clases
- TChooseFontDlg: Correción en selección de font en negrita desde TRichPad
Novedades de la versión Xailer 2.1.0:
- IDE:
- Incorrecto enlazado por problemas con el software Antivirus
- Mejoras en SqLite editor:
- Soporte de disparadores
- Importación desde otra BD Sqlite
- Edición de registros tipo ficha
- Error en selección de texto con teclado o ratón
- Completado el soporte multimonitor:
- Aparece una opción en el menú de sistema "Enviar al monitor X"
- Se ha añadido una opción en la configuración para arrancar el IDE en un monitor que no sea el primario
- La disposición de ventanas se guarda por separado cuando sólo hay un monitor y por cada monitor donde esté el IDE
- Al ejecutar el programa, no ocultar las ventanas que estén en un monitor secundario
- Añadida opción "Distribuir" al alinear controles
- Actualizado scintilla a la version 2.0.3
- GPF esporádico al compilar si se encontraba la cadena "#include" dentro de algún comentario
- Error al duplicar un componente
- Al copiar y pegar un componente no se renombraba
- Al lanzar la página de xailer, usar ShellExecute() en vez de Internet Explorer con OLE
- Ahora se utiliza el desactivado de imágenes en modo dmGRAYED
- Al eliminar un evento se quedaba colgado en determinadas circunstancias
- No se podía eliminar el cVarName de un TToolButton
- Ajustes en la generación del código de TToolbar
- A veces se cambiaba entre mayúsculas/minúsculas el módulo de entrada del proyecto
- Error en el editor de TreeView
- Mejorado menú contextual del historial del clipboard
- Mejorado diálogo de marcas
- Incluir historial del clipboard en el menú principal
- Al escribir: FUNCTION test(); al final de un documento, se colgaba completamente
- La configuración de herramientas se estaba guardando incorrectamente
- Permitir uso de comillas en Herramientas de usuario
- Mostrar fecha correcta en AcercaDe...
- Actualizados iconos para Vista y Win7
- Al marcar "Bloquear controles" se activaba el check de "Archivo"->"Salir"
- No se estaba guardando la propiedad Cargo de los toolbuttons
- Permitir usar iconos estándar (IDI_???) en las imagelist y btnbmp
- Bug ocasional en el proceso de registro del IDE
- Corregido bug de pintado de scintilla con "líneas resaltadas"
- En los edit con lPassword = .T. se perdía el cPasswordChar
- Al hacer click sobre el fondo del formulario no desaparecían las marcas de selección
- Agregadas nuevas macros a las abreviaturas
- Correcciones en traducciones a otros idiomas
- General
- Pintado de bitmaps en controles desactivados en tonos de gris, sólo con WinXP+ y ScreenColors()=32 y para imagenes de 8 o 32 bits
- Mecanismo para detectar la carga fallida de recursos (bitmaps, iconos, cursores,...)
- Formularios
- TForm: Correcciones en RestoreState()
- DataControls
- TSqlite: Actualizado a sqlite 3.7.0
- TSqlite: Error al grabar un NULL en un campo blob
- TSqlite: Nuevas funciones agregadas para compatibilidad con MySQL: year(), month(), day(), quarter() y concat()
- TSqlite: Error en apertura de DB cuando contenía caracteres no Ansi básicos
- TSqlite: Distinguir entre 'date' y 'datetime' al leer los datos
- TSqlite: Sustituido completamente el sistema de encriptacion de datos para sqlite. Ahora es posible utiilzar una librería estándar de SQLite. Se mantiene la compatibilidad de las BD encriptadas con versiones anteriores.
- TSqlite: Error en recuperación de estructura del SELECT cuando se utilizaban campos calculados
- TSqlite: Posibilidad de utilizar selects complejos, que pasan a modo solo lectura
- TMySQL: Error de INSERT cuando se usaba la clausula LIMIT
- TMySQL: Error en Cancel
- TMySQL: Nuevo parámetro 'cEngine' en CreateTable()
- TMySQL: Error al grabar un NULL en un campo blob
- TMemRecords: Error en ordenación descendente con valores numéricos y de fecha
- TDataSource: Error en BuildSqlSt cuando se usaba '%'
- TDataSource: Error en BuildSqlSt cuando se usaban valores NIL
- TDbRadioMenu: Error con valores NIL de inicialización
- TDbfDataset: Error de apertura de tablas ADT
- TDataField: Corrección en método BasicType
- TDataField: Incluido el tipo SHORTINT para ADS en método BasicType()
- TDbComboBox: Error en procesamiento de WMChar
- Browses
- TDbBrowse: Nuevo parámetro en método Sort para indicar tipo de ordenación
- TDbBrowse: Permitir reasignación de oDataet sin perder columnas cuando la estructura de anterior y nuevo coinciden
- Controles
- TToolBarRE: Nuevo control en samples.dll que muestra una toolbar para ser usada conjuntamente con un TRichEdit
- TreeView: Permitir usar iconos estándar (IDI_???)
- TImageList: Permitir usar iconos estándar (IDI_???)
- TImage: Permitir usar iconos estándar (IDI_???)
- TBtnBmp: Nueva propiedad nFlatStyle
- TPreviewControl: Mejorada la impresión de archivos PDF. Requiere Image2PDF version 2.60
- TPreviewControl: Error de impresión desde Preview cuando cambiaba la orientación de las páginas
- TRichEdit: Método RTFSaveFile admite nuevos formatos: pdf, html, docx, doc y wri
- TRichEdit: Nuevos métodos RTFToPDF(), RTFToWord(), RTFToWordX(), RTFToWrite()
- TRichEdit: Nuevo método GetRTFRange( nStart, nEnd ) que obtiene selección en formato Rtf
- TRichEdit: Nuevo método MovePos( [nTimes], [nType] ) que mueve el cursor de posición
- TRichEdit: Corregido error en el pintado de la regla
- TTabControl: Pérdida de recursos al asignar directamente oImageList
- TImageList: Pérdida de recursos al asignar directamente oImageList
- TImageList: Admite también un handle a Bitmap en su método Add()
- TMaskEdit: Error al borrar cadenas con máscaras que incluían puntos
- TMaskEdit: Nuevo método IsBadDate()
- TMaskEdit: Error con Overwrite ON y máscaras complejas
- TDataset: Aviso cuando algún campo del dataset coincide con un miembro de la clase
- TPicture: Nuevo método MakeThumbNail(). Es necesaria FreeImage.dll
- TOcx: Controlar pulsación de la tecla TAB y otras teclas de control
- TTooltip: Pérdida de memoria
- TOptionItem: Devolver valores correctos en ::Enabled() y ::Disable()
- TMonthCalendar: No se establecía ::nMaxSelCount al crear el control
- TTrackBar: No se disparaba OnChange al cambiar el valor usando la rueda del ratón
- TRadioMenu: Pérdida de memoria
- Otras clases
- TApplication: Nuevos métodos SetProgress() y SetOverlayIcon()
- TZipArchive: Bug en paso de parámetros a los eventos
- TMapi: Forzar inicialización de la DLL y actualizar nLastError al iniciar/terminar el objeto para obtener mejor información de error
- TMapi: Error en propiedd lReceipt en determinados casos
- TReport: Error en exportación a Excel de valores numéricos con plantilla
- Funciones
- Nueva función GetVersionEx()
- Wrappers de implementación de crifrado AES-256
- XA_Aes256Encrypt()
- XA_Aes256Decrypt()
- Tanto la cadena como la clave pueden tener cualquier longitud, pero la cadena resultante siempre tendrá una longitud múltiplo de 16 bytes
- Nueva función IsUserAnAdmin()
- Nueva función CreateThumbNail()
- Nueva función UTF8ToAnsi()
- Nueva función oAnsiToUTF8()
- Nueva función GetBmpFromColor()
- Nueva función XA_IsVistaOrHigher()
- Nueva función XA_IsXPOrHigher()
- Nueva función XA_RTFToTxt( cFile/cString )
- Ejemplos
- Nuevo ejemplo de un formulario dentro de un formulario en \samples\FormInAForm
- Nuevo ejemplo de uso de los métodos TApplication:SetProgress() y SetOverlayIcon() en \samples\Windows7\Taskbar
- Documentación
- Actualización a los últimos cambios
Novedades de la versión Xailer 2.0.1:
- IDE:
- asistentes: Soporte en ListView de lvICON y lvSMALLICON.
- Error al añadir cadenas del portapapeles.
- Usar un SearchCombobox en la ventana de "Ir a linea" del editor.
- DataControls
- TMemDataset: Error en método Clone
- TDbfDataset: Error de edición con campos Memo
- TDbComboBox: Incorrecta visualización cuando se asignaba aItems después de la asignación del dataset
- TDbBrowse: Error en uso de GoBottom() en datasets con scope
- Controles
- TBrowse: Impedir entrar en edición de filtro en la zona del record selector
- TBrowse: Error en GoRight() cuando nFreeze eran todas la columnas del Browse
- Otras clases
- TCanvas: Error en metodo TextRect y alineacion vertical centrada
- Documentación
- Actualización a los últimos cambios
Incluimos igualmente un sumario de todas las mejoras incluidas en las distintas
versiones Beta que se han ido entregando a los usuarios con suscripción activa
Novedades de la versión Xailer 2.0:
- IDE:
- Nuevos asistentes de programación para facilitar la creación de formularios.
Facilidad para modificar e incluso crear cualquier asistente por el propio usuario (ver ejemplos).
- Nueva opción Ver marcas en la opción de menú Editar->Marcas que permite gestionar los
bookmarks y puntos de ruptura de una manera centralizada sin tener que revisar uno a uno los
archivos abiertos.
- Nueva opción Historial del portapapeles en el menu contextual del editor de codigo.
- Actualización de funciones disponibles en Calltips.
- DataControls
- TDbfDataset: Error en edición cuando se modificaba el valor del datacontrol manualmente
- Otras clases
- TPrinter: Incorrecto funcionamiento de la propiedad nCopies en Windows 7
- Ejemplos
- Nuevo ejemplo con el código fuente de los asistentes incluidos en el IDE
- Documentación
- Actualización a los últimos cambios
Novedades de la versión Xailer 2 RC2: (Noviembre 2009)
- Controles
- TBrowse: Error en metodo GoRight por no mostrarse columnas completas
- TArrayBrowse: Error en metodo Zap
- TEditBtn: Nueva propiedad nStyle
- THeader: Error en el color del texto al mostrarse los filtros
- THeader: Nueva propiedad lWordBreak
- TMaskEdit: Error con tipos caracter y plantillas del tipo "999 ..." con simbolo "-"
- DataControls
- TMySQLRecords: Error en metodo RefreshCurrent despues de Append
- TADORecords: Error en inicializacion de los datos DefValue y lAutoInc
- TMemDataset: Error en inicializacion de los datos DefValue y lAutoInc
- Otras clases
- TBlatMail: Nueva propiedad lLog
- Documentación
- Actualización a los últimos cambios
Novedades de la versión Xailer 2 RC1:
- IDE:
- Mejoras en la importación de diálogos desde recursos
- Error en uso de abreviaturas en el editor de código
- Soporte de nueva clase TTabs
- No se cerraba la ventana de mensajes al pulsar 'Esc'
- Permitir seleccionar controls con Shift+Click en el inspector de objetos
- Controles
- TRichEdit: Metodos Print y Preview comprueban si hay impresoras instaladas
- THeader: Soporte de texto multi-línea
- TTabs: Nuevo control TTabs (en construcción y por documentar)
- TSplitButton: Nuevo control TSplitButton (por documentar)
- TBrowse: Error en movimiento a la izquierda con nFreeze > 0
- TControl: Nuevo metodo GetSiblingControl( +-nPos ). Devuelve el control hermano segun nPos. Si no existe devuelve NIL.
- TMenu: Nuevo estilo de pintado Office 2007
- TRichEdit: Nueva data lRE50 y nuevo método SetHyperLinkTooltips
- DataControls
- TDbfDataset: Error en filtros cuando se usaba la propiedad TBrwColumn:lFilterEval
- MySQL: Error en recuperación de información de campos 'not null' y 'autoincremnt'
- MySQL: Error en método CurrentWhere()
- SQLite: Error en recuperación de información de campos 'not null' y 'autoincremnt'
- TDataset: Modificado para que no intente grabar campos no editables
- TDataset: Error en actualización de datacontrols cuando no tenía resuelto su nombre de campo
- TDataset: Control tipo cursor adOpenForwardOnly en SaveState y RestoreState
- TAdoDataSource: Nuevo metodo lPromptIfError
- TAdoDataSource: Error en QueryArray y QueryRow por no rellenar la matriz aHeaders cuando la instrucción Select no devolvía ningún dato
- TAdoDataSource: Control error de tipo en nAffectedRows
- TAdoRecords: Error en Fieldput porque el atributo adFldUpdatable siempre viene a verdadero en cualquier caso
- TAdoRecords: Error en metodo Save al grabar valores nulos con AddNew
- TAdoRecords: Error en asignacion de valor por defecto a TDataField
- TMemRecords: Error en método Delete
- Otras clases
- TCanvas: Nueva función Ellipese y ExtFloodFill
- TSysImageList: Múltiples correciones y mejoras
- TReport: Soporte de eventos en generación de ficheros Excel (excepto eventos de página e inicio y fin de línea)
- TReport: Nueva propiedad cXlsData en vez de la variable cbuffer en generación XLS
- TReport: Nueva propiedad lXlsNumeric para que los datos numéricos se reciban también como numéricos en Excel. Por defecto .T.
- TReport: Formato en Excel de las columnas de datos numéricas con el número de decimales utilizados en su máscara
- TReport: Error en visualización de número de página creada cuando se establecía a mano el valor de oReport:nPage
- TReport: Nuevo evento OnPreChange que se evalúa antes de imprimir la información de todas las colummas del informe
- Funciones
- GPF esporádico en funciones WordList
- Documentación
- Actualización a los últimos cambios
Novedades de la versión Pre-release 2.0:
- IDE:
- Corregido error en modificación de estructura de DBFs en el editor de ficheros DBF
- Terminado el manejo completo del control TListView en modo diseño
- Soportar 'case insensitive' en busquedas con la pagina de codigos local
- No se estaba añadiendo la informacion de version a las dll
- Controles
- TListView, TListViewItem, TListViewColumn y TListViewGroup: Adaptación para su uso en el IDE
- DataControls
- SQLite: Error en recuperación de información de campos 'not null' y 'autoincremnt'
- MySQL: Error en recuperación de información de campos 'not null' y 'autoincremnt'
- TDataset: Modificado para que no intente grabar campos no editables
- Ejemplos
- Nuevos ejemplo de uso de ListView
- Documentación
- Actualización a los últimos cambios
Novedades de la versión Pre-release 2.0:
- IDE:
- Información visual de líneas modificadas en el editor de código
- Autoindentado de estructuras de control en el editor de código (sólo para PRG)
- General
- Adaptación a MinGW y PellesC del código fuente
- Corregidas pérdidas de memoria
- DataControls
- Rediseño completo: Desaparecen métodos GetValue y SetValue tanto en TDataset como en TDataField
- TDataset: Nuevo método GetRow()
- TMySQL: Soporte de la cláusula LIMIT y campos 'DateTime' en TMySQL
- TDataset: Soporte de comodines '%' en la 'Filter Bar' del TDBBrowse para cualquier tipo de Datasource
- TDataset:Cambiado valor por defecto de nLockType a adLockUnspecified
- Otras clases
- TReport: Soporte de alineación izquierda y derecha a la vez en el 'title', 'header' y 'footer' utilizando el separador '||'
- Ejemplos
- Nuevos ejemplos de Datacontrols y uso de librería Zip
- Documentación
- Actualización a los últimos cambios
Novedades de la versión Pre-release 2.0:
- IDE:
- Mejora en el soporte multimonitor: cargar y guardar los formularios en el mismo monitor donde se encuentre el inspector de objetos
- Búsqueda de definición de método, función o procediemiento donde se encuentra el cursor
- Utilización visual del control TSysImageList
- Nuevo editor para propiedades nImage en todos los controles que lo utilizan
- Añadido control de errores con el uso del compilador de recursos de Pelles C
- Configuración de la periodicidad del sistema 'Autoupdate'
- Nuevos botones de cerrado del documento en las propias pestañas del editor
- Los splitter se movian unos pixels con solo pulsarlos
- Modificado el editor de TImageList para que incluye el ordinal de la imagen y nuevos botones para subir o bajar las imagenes
- Mejorado el moviento de controles con el raton. Ahora no se empizan a mover hasta que el raton se ha movido al menos 2 pixels. Esto evita mover controles accidentalmente al seleccionarlos.
- Soporte inicial de herencia visual de formularios
- Nuevo acelerador de teclado CTRL+* por el cual se traspasa al editor la propiedad activa del control seleccionado en el inspector de objetos. Sólo funciona cuando el formulario activo es el inspector de objetos.
- General
- Autoescalados de formulario y sus controles adoptandose automáticamente al uso de fuentes grandes. Posibilidad de establecer manualmente el valor de escalado
- DataControls
- TAdsDataSource: Modificados metodos de consultas SQL para que utilicen el RDD designado en el DS
- TMemDataset: Nuevo metodo Zap
- TMemDataset: Property cName quitada de reserved para poder darle un nombre que sea visible en FastReport
- TMemDataset: Re-Open (reabrir con distinto array) no funcionaba correctamente
- TAdoDataSource: Error en metodo GetRows con cursores ForwardOnly
- TDataSource: Modificado BuildSQLSt para distinguir entre tipos Date y DateTime
- TSQLite: Al usar la clausula AS en las sentencias con :Table() o :Query() se producia un error
- Controles
- TWinControl: Nuevo valor blSTRETCHSMOOTH para la propiedad nBkgndMode que permite evitar los clásicos dientes de sierra cuando se amplía una imagen
- TTabControl: Nueva proepiedad lTabCloseButtons y evento OnCloseTab. Soporte de pequeños botones para cerrar las pestañas
- TRadioMenu: No se disparaba el evento OnClick
- TRichEdit: Nuevo evento RTFInsertTable()
- TRichEdit: Modificado metodo WMDropFiles para habilitar drag & drop con ficheros de imagenes
- TRichEdit: Nuevo parametro cPrintName en PrintDlg
- TRichEdit: Arreglado GPF en Print cuando no se pasaba el parametro hDC
- TMaskEdit: Incorrecto tratamiento de fecha en blanco
- Dialogos
- TCommonDlg: Bug al asignar un nombre de archivo con extension no se actualizaba correctamente nFilterIndex
- Otras clases
- TApplication: Nuevas propiedades lAutoScale y nScale
- TIni: Error en método RenameSection()
- TSysImageList: Arreglado bug en GetIconIndex
- Ejemplos
- samples\Autoscale\*: Nuevo ejemplo de uso de las propiedades de autoescalado
- Documentación
- Actualización a los últimos cambios
Novedades de la versión Pre-release 2.0:
- IDE:
- Compilar en varios procesos simultaneos, configurable de 1 a 8
- Soporte de encriptación de datos en el editor de SQLite
- Actualización del editor Scintilla a la versión 1.77
- Nuevas opciones en el botón 'Compilar'
- Creación de ejecutable final con posible compresión y ejecución de instalador
- Permitir cambiar el valor de una propiedad o evento a un grupo de controles a la vez
- Nuevo editor para propiedades con matrices multi-tipo como aItemsBound en los datacontrosl
- Usar TSearchCombobox en la ventana de "Buscar en ficheros"
- Soporte de Intellisense (solo calltips de momento)
- Soporte de macros en las abreviaturas del editor
- Nueva opcion "Importar proyecto"
- inspeccionar en el depurador objetos que no deriven de TComponent
- DataControls
- TSqlQuery: Nueva propiedad aSQLParams
- TSQLite: Soporte de encriptación de datos. Nueva propiedad cPassword
- SQLite: Nuevas funciones agregadas SQL: local_timestamp(), ctod() y dtoc()
- TAdoDataSource: Nuevo metodo ConnectTag( cTag, cNewValue )
- TDatacontrols: Nueva propiedad lAutoSave para poder evitar el salvado en algún datacontrol
- Controles
- TSearchComboBox: Combobox editable con búsqueda incremental
- TEditBanner: Nuevas propiedades nClrTextBanner y nClrPaneBanner
- TControl: Nuevo evento OnBeforeCreate
- TPicture: Soporte de formatos multiimagen (TIFF y GIFF) en método LoadFromFile( cFile, nImage)
- THeader: Nuevo evento OnFilterEdit( oSender, nItem )
- TRichEdit: Conversion a WordX y HTML
- TComboBox: Nuevo evento OnCloseUp()
- TRadioMenu: Nuevo parametro al evento OnChange
- Comunicaciones
- TAsynDownload: Nueva clase igual que TAsynFileDownload pero utilizando un buffer en vez de un archivo(Sólo en Edición Enterprise)
- TFtp: No funcionaba FTP en modo pasivo
- Otras clases
- TReport: Nueva propiedad oDataset
- TReport: Control de valores nulos
- TReport: Metodo PrintAtCol() recibe dos nuevos parametros nWidth y nHeight en MM*10
- TAppData: Visualización de sus DATAS en el debugger
- TImagePdf: Soporte de claves y permisos
- TPrinter: Nuevas propiedades en oExportInfo
- Funciones
- Nuevas funciones GetUserName y GetComputerName
- Documentación
- Actualización a los últimos cambios