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.