Xojo 2019r2: Pautas de la API 2.0

A continuación encontrarás traducida al Castellano las Pautas de la API 2.0 Xojo; información que se encuentra disponible en el área de documentación. Puedes encontrar el documento original en este enlace

Con Xojo 2019 Release 2 existen cambios significativos con la API 2.0. En muchos casos no requiere hacer nada, dado que podrás continuar ejecutando tu antiguo código tal cual; pero contiene unos cuantos cambios que pueden afectar a tus proyectos.

Formato de Archivo

Los archivos creados con las versiones anteriores a 2019r2 pueden abrirse en 2019r2. Estos proyectos tendrán nuevas propiedades en el Inspector cuando se carga el proyecto, lo cual puede ralentizar la carga en el caso de los proyectos de gran tamaño. Sin embargo, esto no garantiza que tu proyecto mantenga la compatibilidad hacia atrás.

Si quieres convertir tu proyecto al formato de 2019r2, lo que significa que no puede abrirse en las versiones anteriores, puedes hacer un Guardar Como (Save As). Esta acción guardará los nombres de las propiedades convertidas en el archivo de proyecto, permitiendo por tanto que el proyecto se abra con mayor rapidez dado que no tendrá que hacer nuevamente las conversiones.

Date y DateTime

Se ha añadido la clase DateTime para proporcionar un modo más inteligente de gestionar las fechas y las horas. La clase Date continúa funcionando tal y como hacía hasta ahora.

Las clases que conteniían una propiedad Date tienen ahora una propiedad adicional que utiliza DateTime como sufijo en vez de simplemente Date. Por ejemplo:

FolderItem.ModificationDateTime

Var

Ahora puedes usar Var en lugar de Dim para la declaración de variables.

Este cambio significa que ya no podrás utilizar más Var como nombre para un método, propiedad, clase, etc.

Utiliza Arrays.ResizeTo en vez de Redim para modificar el tamaño de un Array.

FolderItem

Se ha actualizado la clase FolderItem para utilizar las últimas API en macOS.

Se han eliminado estas propiedades y métodos, dado que ya no siguen soportadas en macOS:

FolderItem.AbsolutePath
FolderItem.MacDirID
FolderItem.MacFSRef
FolderItem.MacCreator
FolderItem.MacType
FolderItem.VRefNum
FolderItem.ResourceForkLength

Nota: El caracter “:” (dos puntos) ya no es el delimitador de ruta en macOS. Las rutas están delimitadas ahora mediante el caracter “/”.

Nota: En anteriores versiones, el constructor FolderItem que utilizaba una ruta se truncaba en el caracter “?”. Ahora, el mismo constructor proporciona la ruta completa.

SpecialFolder

Se ha eliminado la propiedad Var y se ha sustituido con Variable. Por tanto, VarLog es ahora VariableLog.

ToolTip

Si utilizas la clase, ahora deprecada, ToolTip en un ContainerControl o en una subclase RectControl tendrás que utilizarla junto con el prefijo Global para que no se confunda con la nueva propiedad ToolTip.

Global.ToolTip.Show("Hello", 10, 10)

O bien puedes utilizar de forma alternativa los métodos ShowTooltip y HideTooltip de Application.

SocketCore.Error

Los Sockets utilizan ahora excepciones, por lo que el evento Error tiene un nuevo parámetro que se pasa en la excepción. Si estás usando AddHandler para mapear este evento a un método, entonces tendrás que actualizar la signatura de tu método para que incluya el nuevo parámetro.

Interface Readable

Se ha añadido el método EndOfFile. Si tienes clases que utilicen Readable también tendrás que implementar el método EndOfFile en la clase.

Interface PreparedSQLStatement

Esta interface tiene ahora nuevos métodos: ExecuteSQL y SelectSQL. Si estás utilizando esta interface en tus proyectos o plugins entonces también tendrás que implementar los dos métodos nuevos.

SQLiteBLOB

Esta clase lanza ahora una IOException en cualquier error de Lectura/Escritura (en vez de que tengas que comprobar los métodos ReadError/WriteError para ver si están a True).

Toolbar

Querrás cambiar las propiedades Super de los botones de ToolButton a ToolbarButton, de modo que se pasen correctamente en el evento Toolbar.Pressed.

Métodos Extendidos

Deberás comprobar si cualquiera de tus métodos extendidos pueden estar en conflicto con los nuevos métodos de clase de Xojo, dado que estos provocan errores de compilación.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *