===== FRAMEWORK v3-HIPERMEDIA ===== ====Versión 4.8.1.1==== ==Nuevas funcionalidades:== * Añadida compatibilidad para Android 7.0 (Nougat). * Se ha implementado los nuevos nodos para reutilizar código. Ejemplo de uso: "MiBarraDeBotones.xml" * Se ha implementado el nodo al content viewmode="expanview", para cuando se abra el hijo seleccionado. * Se ha implementado el nodo al content viewmode="expanview", para cuando se cierre el hijo seleccionado. * Se ha implementado el nodo , se ejecuta después de pintar la ventana. * Se ha implementado soporte inicial con el futuro lanzamiento del XOneWebStudio. Permite lanzar aplicaciones. * Se ha implementado soporte para cambios "en caliente" con el nuevo XOneWebStudio. Permite aplicar cambios a atributos, colecciones y funciones mientras se programan, acelerando así el desarrollo. * Nuevos iconos. ==Cambios:== * Se han portado varios cuadros de diálogo con el estilo del sistema operativo * El entry-point no se tragará ya ciertos errores * Se ha mejorado el manejo de errores de mappings en general ==Bugfixes:== * Se ha añadido soporte para el type="D", type="DT" y type="TT" en Android 7.0 (Nougat) * Se han arreglado algunos errores relativos a métodos no expuestos en Javascript del objeto FileManager * El width y height se refrescan correctamente en los type="NC". * Se ha corregido un error en Android >= 6.X.X provocado por cambios en la API que impedía al replicador obtener el PIN correcto en dispositivos sin hardware de telefonía. * Se ha corregido varios errores al tratar de actualizar campos desde un hilo paralelo * Se ha corregido un problema en el parser de VBScript que entraba en bucle infinito al encontrarse un punto y coma en vez de mostrar error de sintaxis como corresponde * Arreglados varios detalles de las propiedades linkedto y linkedfield. * Solucionados varios errores en el content edit-inrow. * Múltiples bugfixes menores. ===== FRAMEWORK v2 ===== ====Versión 4.3.3.9==== ==Nuevas funcionalidades:== * Se ha añadido el método ui.isWifiConnected (retorna true o false) para saber si está conectado a una red wifi. * Se ha añadido el método getImageInfo al objeto ImageDrawing para obtener la resolución y el mime type de una imagen. Devuelve un objeto con los métodos getWidth, getHeight y getMimeType. * Se ha añadido métodos para pintar y editar líneas y rutas al type="Z" viewmode="mapview". * Se ha añadido y expuesto a javascript el parser de XML DOMParser. La API es igual que en los navegadores web. * Se ha portado de BlackBerry 10 el método ui.isOnCall() para saber si se está en medio de una llamada telefónica. * Se ha añadido traducciones a rumano y búlgaro a los mensajes del framework y XOneLive. ==Cambios:== * Se ha sustituido el parser de XML por uno más eficiente. * Se ha sustituido el código de los mantenimientos para hacerlo más flexible y ahorrar batería en ciertas situaciones. ==Bugfixes:== * El objeto ImageDrawing no estaba calculando correctamente las coordenadas al añadir texto. ====Versión 4.3.3.3==== ==Bugfixes:== * Corregido un error al aplicar la orientación de la ventana. * Corregido un error al aplicar el tamaño a los contents slideview. ====Versión 4.3.3.2==== ==Nuevas funcionalidades:== * Ahora es posible mostrar distintas colecciones de entry-point y login-coll según las condiciones visuales del dispositivo, al estilo de los CSS (landscape, portrait, phone, tablet, hiphone, etc...). * La ventana de configuración del XOne Web Studio ahora obtiene también la dirección IP cuando se está en modo hotspot WiFi para enviarla al Web Studio al escanear el QRCode. No siempre es posible obtener la IP automáticamente, en cualquier caso siempre se puede añadir manualmente en el Web Studio. * La tabla master_replica_cmdlog local ahora registra más estados y errores de réplica. * La tabla master_replica_cmdlog local ahora soporta más de una aplicación y tendrá un registro por aplicación, en vez de uno solo. Cuando sea necesario en un entorno con varias aplicaciones en el mismo framework, aplicarle un WHERE APPNAME = 'nombre_aplicacion' a la consulta SQL de la colección. * Se ha implementado el método refreshValue() para refrescar únicamente el valor de una propiedad, sin aplicar estilos, fuentes, visibilidad, etc... Es útil a la hora de optimizar una aplicación. Está disponible en los objetos ui y ventana. * Se ha añadido soporte para ejecutar el framework en entornos Android for Work con Play Store. El framework se integra correctamente con nuestra nueva solución de MDM, disponible en un futuro próximo. ==Cambios:== * El antiguo mapa a pantalla completa (type="Z" viewmode="mapview"), que usaba APIs obsoletas, ha sido sustituido por el mapa incrustado nuevo. Se comporta igual que el antiguo, mostrando el botón y a pantalla completa. * Se ha cambiado la forma en la que se aplica la orientación a las ventanas de edición. ==Bugfixes:== * Se han corregido fugas de memoria en los servicios de réplica, gps, capa de datos ASData y en las abstracciones de base de datos con manejo de cursores. Esto se relaciona con el mensaje de error "Cursor window allocation of 2048 kb failed". * Se han serializado la ejecución de mantenimientos para evitar posibles errores de concurrencia. * Se ha solucionado un error que bajo ciertas condiciones impedía al content viewmode="gridview" ejecutar un selecteditem. * Se ha solucionado un error en el cual el atributo path en los type="AT" y los type="PH" con attach era ignorado en colecciones que contuvieran varios de estas propiedades. * Se han aplicado múltiples optimizaciones al framework en general y reducido su huella de memoria. * Múltiples bugfixes menores. ====Versión 4.3.1.2==== ==Nuevas funcionalidades:== * Añadida compatibilidad para Android 7.0 (Nougat). * Se ha implementado los nuevos nodos para reutilizar código. Ejemplo de uso: * Se ha implementado keep-aspect-ratio para los type="IMG". * Se ha implementado el nodo al content viewmode="expanview", para cuando se abra el hijo seleccionado. * Se ha implementado el nodo al content viewmode="expanview", para cuando se cierre el hijo seleccionado. * Se ha implementado el nodo , se ejecuta después de pintar la ventana. * Añadido soporte mediante SDK oficial del escáner de codigos de barras integrado en los dispositivos Honeywell. * Se ha implementado soporte inicial con el futuro lanzamiento del XOneWebStudio. Permite lanzar aplicaciones. * Se ha implementado img-att, img-att-sel, img-delete y img-delete-sel en el type="AT". * Se ha implementado img-rotate y img-rotate-sel en el type="PH". * Nuevos iconos. ==Cambios:== * El entry-point no se tragará ya ciertos errores. * Se ha mejorado el manejo de errores de mappings en general. * Se han hecho pequeñas optimizaciones a los campos editables. ==Bugfixes:== * Se ha añadido soporte para el type="D", type="DT" y type="TT" en Android 7.0 (Nougat) * Múltiples bugfixes menores * Se ha arreglado algunos errores relativos a métodos no expuestos en Javascript del objeto FileManager * Se ha corregido un error en Android >= 6.X.X provocado por cambios en la API que impedía al replicador obtener el PIN correcto en dispositivos sin hardware de telefonía * Se ha corregido un problema que hacía que en algunos casos los messagebox reprodujeran el sonido antes de llegar a mostrar la ventana por primera vez * Se ha corregido un problema en el parser de VBScript que entraba en bucle infinito al encontrarse un punto y coma en vez de mostrar error de sintaxis como corresponde * Se ha corregido un problema que hacía que el type="DT" y "VD" se ocultara ====Versión 4.2.1.22==== ==Nuevas funcionalidades== * Se han añadido nuevos métodos al objeto replica para controlar la réplica de ficheros por WiFi o 3G. * El type="DT" y type="AT" ya no ignora width y height. * Nuevo atributo scale-fontsize="true" para el nodo para reescalar las fuentes en base a un factor en distintas pantallas. * Los action name="setval" ahora funcionan con los type="AT", type="WEB" y type="PH". ==Cambios== * Se ha cambiado el encoding de la réplica a windows-1252. * Ahora los botones ya no necesitan width y height para aplicar los atributos de padding. ==Bugfixes== * Solucionado un problema con los frame scroll="true" cuando se creaban. * Solucionado un problema de refresco de elementos imágenes en un content. * Solucionado un problema de scroll en el type="WEB" en Android <= 5.1.X. * Otros arreglos menores. ====Versión 4.2.1.12==== ==Nuevas funcionalidades== * Se ha añadido una nueva tabla master_replica_cmdlog a la base de datos de información de réplica local. Sólo contiene un registro. Sus campos son: - HASERROR integer NOT NULL: Vale 1 si el último comando de réplica realizado tuvo error, en caso contrario 0. - LASTCMD text NOT NULL: Texto con la descripción de la última acción. - LASTERROR text NULL: Texto con la descripcion del error si lo hubo. - CMDTIME date NOT NULL: La fecha y hora de la última acción. - LASTSYNCOKTIME date NULL: La fecha y hora del último ciclo de réplica correcto y sin errores de ninguna clase. ==Bugfixes== * Se ha arreglado el soporte para el evento de grupo onfocus en versiones de Android obsoletas. ====Versión 4.2.1.11==== ==Nuevas funcionalidades== * Nuevo objeto reservado para javascript $http para hacer consultas a un servicio web y obtener resultado. * Nuevo método de colección y de objeto loadFromJson(String sJson) para cargar una colección/objeto con una cadena JSON directamente. ==Cambios== * La generación de nombres de fichero aleatorios para la firma, foto, etc, se ha cambiado a un algoritmo que usa UUIDs para que haya mucha menos probabilidad de colisión. Recordar que siempre es posible cambiar manualmente el nombre del fichero con el objeto FileManager y luego en el campo antes de guardar el objeto. ==Bugfixes== * Se ha arreglado un problema con el salto del foco al pulsar siguiente en el teclado. * Se ha corregido un problema en los content que contenían una sola propiedad IMG. ====Versión 4.2.1.6==== ==Nuevas funcionalidades== * Nuevo método ToFile del objeto FileManager para escribir un fichero a partir de una cadena en base64. * Nuevo método ToBase64 del objeto FileManager para escribir una cadena en base64 a partir de un fichero. * Nuevo atributo show-pois="false" para el mapa incrustado para ocultar el botón de POIs y bloquear su drawer. * Se ha implementado soporte para el escáner de códigos del smartphone rugerizado Symbol TC70. ====Versión 4.2.1.3==== ==Bugfixes== * Se ha solucionado un problema que provocaba que el servicio de SMS duplicara envíos. ====Versión 4.2.1.2==== ==Nuevas funcionalidades== * Se ha implementado el atributo imgbk en el nodo colección. * Se ha implementado soporte para el escáner de códigos del smartphone rugerizado Symbol TC55. * Se ha implementado el método DrawMapRoute en el objeto ventana. ==Cambios== * Las funciones anónimas javascript ahora se identifican como tal en la ventana de error. * Las funciones callback javascript que tengan nombre ahora lo mostrarán en la ventana de error. * Optimización de la carga de imágenes en el content. * Optimización en la ejecución de los nodos onfocus y onlostfocus. * El framework avisará ahora cuando un hace referencia a un fichero que no existe, y cuando el lenguaje especificado sea inexistente. * El framework avisará ahora cuando el lenguaje de scripting especificado en un sea inexistente. * El framework avisará ahora cuando el appwizard esté mal formado. * El framework avisará ahora cuando no se pudo obtener el id necesario para ui.RefreshContentRow. * El framework ya no solicitará que se active la localización por GPS si no dispone de hardware adecuado. ==Bugfixes== * Corregido un problema en el getValue()/setValue() en javascript que no convertía los tipos correctamente. * Corregido un problema por el cual se cacheaban incorrectamente las imágenes en un content si la URL llevaba parámetros. * Corregido un problema de encoding con varios mensajes del framework. * Corregido un problema con los parámetros de LaunchApplication. * Corregido un problema que provocaba que se pudiera pulsar en rápida sucesión un elemento del appwizard y lanzarlo varias veces. * Corregido un problema por el cual varios script en background podían ocultar la ventana de cargando. * Corregido un problema por el cual la réplica no detectaba correctamente la conexión activa si el adaptador wifi estaba deshabilitado. * Corregido un problema que provocaba un refresco global si se encadenaban varios refrescos selectivos. * Corregido un problema en el content edit-inrow en el que el valor introducido se perdía al hacer scroll si el campo de texto no había perdido el foco. ====Versión 4.2.0.6==== ==Nuevas funcionalidades== * Se ha añadido la propiedad GMT_OFFSET al objeto SystemSettings. * Implementación inicial del debugguer Javascript. * Los ficheros de script globales ahora se pueden incluir en el nodo . * Se ha añadido un nuevo viewmode="slider" para los type="N". Muestra el valor de un type="N" en forma de barra deslizante, se controla el valor máximo y mínimo con los atributos max="100" y min="0". * Se ha añadido un nuevo viewmode="rounded-slider" para los type="N". Muestra el type="N" como el viewmode="slider", pero circular. Con clockwise="true" se controla si se rota a en sentido horario o no. * Se ha implementado el atributo sound="loquesea.wav" en los type="B", que reproducira dicho sonido al hacer click sobre el botón. ==Cambios== * Se ha incluido más información de debug cuando ocurre un error en un script Javascript. * El atributo default-language="javascript" del nodo app también se aplica a los scripts inlineados en un atributo de eventos. ==Bugfixes== * Varias correcciones al motor Javascript. * Corregido un error en el sistema de eventos. * Se ha corregido un problema en el mapa incrustado. * Se ha corregido un problema en el parser de vbscript por el cual los decimales perdían precisión en cálculos complejos. * Se ha corregido un problema por el cual el onchange colgaba la aplicación si éste era provocado por un botón de showinline y éste contenía un message box. * Se ha corregido un problema al combinar los atributos fixed-text="true" y upper="true"/lower="true". * Se ha corregido un problema al aplicarle la altura a propiedades linkedto/linkedfield que no definían height. * Se ha corregido un error al distinguir mayúsculas/minúsculas en el atributo showinline-keyboard. * Al hacer OpenUrl este distinguía mayuscúlas en el esquema de la url innecesariamente. ====Versión 4.2.0.0==== ==Nueva funcionalidad, eventos== Se ha implementado el soporte inicial de eventos en objetos para controlar distintas funcionalidades en controles para ejecutar scripts y responder mejor a la interacción del usuario. De momento están implementados un número limitado de eventos, próximamente habrá más y se documentarán públicamente. * Implementado el método Bind() en objeto XOneDataObject y XOneWindow. Sirve para definir eventos. * Implementado el evento onClick en los botones. Similar a nuestro method="ExecuteNode(node)". * Implementado el evento onScroll en los frame con scroll="true", para responder a los eventos de scroll y responder, por ejemplo, a cuando se ha terminado de hacer scroll. * Implementado el evento onTextChanged en los type T. Responde a cada nuevo carácter introducido y provee de información sobre el texto anterior. * Implementado el evento onFocusChanged en los type T. Responde a cuando gana o pierde el foco un campo. * Los eventos pueden bindearse también a través de atributos. El valor del atributo del evento se evaluará directamente. Ejemplo para los botones: onclick="javascript: invocoMiFuncion('hola', (2 + 2) * 3);". ==Nuevo tipo de objeto, XOneWindow== Este nuevo tipo de objeto representa la ventana visible al usuario de un XOneDataObject que está visible en modo de edición. Su utilidad es principalmente para poder ejecutar acciones y otros metodos que típicamente se aplicaban por defecto sólo a la ventana visible. Por ejemplo, se pueden refrescar campos de ventanas no visibles, aplicar el foco a campos y bindear eventos a los controles de dicha ventana. * Se ha implementado el método ui.getView(obj), para obtener el objeto ventana. Si dicho objeto todavía no tiene ventana, devolverá null. * Se ha implementado el método ventana.Refresh(), el clásico ui.Refresh pero aplicado a una ventana específica. * Se ha implementado el método ventana.Bind(), para soporte de eventos en la ventana. * Se ha implementado el método ventana.SetFocus, para darle foco a una propiedad concreta. * Se ha implementado el método ventana.PickFile, para usar la funcionalidad del type="AT" mediante script. ==Otras nuevas funcionalidades== * Se ha implementado el método SetTimeout(nTimeout) al objeto de script BluetoothSerialPort. Si nTimeout <= 0, se configurará tiempo de espera infinito. * Se ha implementado console.log() para javascript.-Se ha implementado un nuevo método ui.ReturnToForeground para que un script que se ejecute en el fondo pueda poner visible la última ventana. * Se ha implementado el atributo default-language="" en el nodo para cambiar el engine de scripting por defecto en nodos de botones, nodos , etc. Sirve para poder omitir language="javascript" en los nuevos proyectos que sean puramente javascript. Valores posibles: "javascript", "vbscript". * Se han aplicado varias mejoras a ui.ShowNotification, para notificaciones cuando la aplicación está cerrada. * Se han implementado los atributos img-checked/img-unchecked en los content edit-inrow. * Se ha implementado el atributo width en los type="D" en los content edit-inrow. * Se han expuesto los métodos para editar colecciones en runtime en Javascript. * Añadido soporte para imágenes nine-patch, que no se deforman al reescalarse. Se puede usar el mismo editor de Android. * Se han implementado nuevos atributos para serializar de distintas formas los content cuando se usa el conector SOAP de webservices. * Portado hash-type="bcrypt" para el type="X". ==Cambios== * El objeto de script BluetoothSerialPort configurará un timeout de 10 segundos por defecto, como en Windows Mobile. * Se ha activado por defecto el modo estricto al motor Javascript. Usar modo estricto obliga no declarar variables globales dentro de funciones y otras cosas que inducen a error. * Ahora group-swipe="false" se aplica automáticamente si hay un solo grupo. * Se han hecho algunos cambios para que los type="T" respeten correctamente los atributos lines y fixed-lines. ==Bugfixes== * Se ha solucionado un problema con teclados software personalizados. * Se ha solucionado un problema en el cálculo del tamaño de los frames scroll. * Se ha solucionado un problema por el cual la ventana de cargando podía no aparecer. * Se ha solucionado un problema con ui.StartPrint al invocarse tras haberse cerrado el proceso remoto del XOnePrinterServer. * Se ha corregido un error en el intérprete VBScript cuando se encadenaban llamadas. * Se ha corregido un error en el intérprete VBScript por el cual no se estaba aplicando la prioridad correcta en los operadores NOT y MOD. * Se ha implementado en el intérprete VBScript el manejo de operaciones bitwise para máscaras de bits. * Se ha solucionado un error con el sistema GPS. * Solucionados varios errores en el engine Javascript. ====Versión 4.1.0.55==== ==Nuevas funcionalidades== * La ventana de cargando ahora también aplica el tema de la aplicación. * Se ha implementado el método GetHostname para el objeto de script replica. Se le puede pasar con parámetro el índice del hostname en el license.ini, si hubiera varios. * Se ha implementado el método GetLicenseNumber para el objeto de script replica. Devuelve la licencia. * Se ha implementado el método GetMid para el objeto de script replica. Devuelve el mid. * Se ha implementado el método GetDatabaseId para el objeto de script replica. Devuelve el dbid. * Se ha implementado el método GetChecksum para el objeto FileManager. Sirve para obtener el checksum de un fichero para verificar su integridad posteriormente. ==Cambios== * En Android >= Honeycomb, si por X motivo la base de datos está corrupta, Android ya no la borrará automáticamente. Su mensaje de error es ahora más claro. * Los mensajes de error "Debe instalar X plugin" cada vez que se hace CreateObject de un plugin sin estar instalado ahora ya no son forzados y se pueden ocultar con on error resume next y appData.error.clear, o con try-catch en caso de javascript. * Se ha mejorado la actualización de plugins en caliente, ahora ya no hace falta salir de la aplicación. * Se ha sustuido algunas partes de librerías obsoletas. * Los mensajes de error lanzados manualmente por un throw en código Javascript ahora sólo muestran el mensaje especificado, sin incluir información de debug. La información de debug se reserva para los errores sin controlar. ==Bugfixes== * Se ha solucionado un problema de scroll en grupos. * Se ha solucionado un problema al destruir ventanas en teléfonos LG. * Se ha solucionado un problema con los grupos fijos al cambiar de orientación la pantalla. * Se ha solucionado un problema con el tamaño del grupo fijo cuando se usaba la nueva forma de definirlo a nivel de grupo. * Se ha solucionado un problema en los content al hacer click sobre elementos especiales. * Se ha solucionado un error al cargar la aplicación. * Se ha solucionado un desperdicio de memoria en el método appData.WriteConsoleString. * En ciertos casos no se interrumpían los scripts pendientes al salir. * Varios arreglos al motor de Javascript. * Se ha solucionado un problema con el GPS. Podía ocurrir que se lanzase la ventana de activar las fuentes de ubicación más de una vez. * Se ha solucionado un problema con el cálculo de tamaños en un frame flotante. ====Versión 4.1.0.26==== ==Nuevas funcionalidades== * Se ha implementado un servicio de envío de SMSs para asegurar su envío correcto. * Se ha implementado el atributo theme="" a nivel de para cambiar el tema global de la aplicación. Puede que no todos los temas estén disponibles según la versión de android, en cuyo caso aplicará el tema por defecto del dispositivo. Está disponible a nivel de para los showinline. Valores posibles: "classic", "holo_light", "holo_dark", "device_default_light", "device_default_dark", "material_light", "material_dark". * Se ha implementado el refresco selectivo en los content edit-inrow. * Se puede cambiar el tema de los show-progress-dialog="true" con el atributo "theme" en el nodo a ejecutar. * Se ha implementado postonchange en los botones del navigation drawer. * Se ha implementado el atributo LocationTrackingEnabled=true para el fichero app.ini. Permite la captura de GPS aún estando la aplicación XOne cerrada. Generará operaciones de réplica para dos tablas nuevas. * Se ha implementado el atributo gps-service-version="v1" para forzar el uso del sistema GPS antiguo sin Google Play Services. * Se han implementado los atributos Username y Password en las cadenas de conexión SOA. Esto le añade una cabecera de seguridad WSSE a la petición. ==Cambios== * IMPORTANTE: Los atributos img-date-width/img-date-height y img-time-width/img-time-height para los campos de tipo fecha no estaban respetando el resolution-width/resolution-height ni le hacían caso a los tamaños en píxeles o porcentajes. Esto se ha corregido en esta versión, por favor revise su aplicación. * Los mensajes y recuadros del framework ahora muestran el tema por defecto asignado según la versión de Android. Hasta ahora siempre se mostraba el antiguo de Android 2.1. Se puede volver a forzar el tema clásico con el atributo theme="classic" en el nodo . * Cambios cosméticos menores al messagebox. * El método AsyncDownload del objeto FileManager muestra ahora una notificación de progreso. * Ciertos dispositivos podían elegir el cifrado más débil en vez de el más fuerte en las conexiones online. Esto se ha cambiado. * Varios arreglos al motor de javascript. * Las conexiones JSON tirarán un error más claro ahora cuando no haya conexión. * Se ha corregido un problema al introducir comillas en una propiedad con atributo contextual-filter="true". ==Bugfixes== * Se ha corregido un error en el mapview incrustado cuando éste pertenecía a un grupo no visible. * Se ha corregido un error en el mapview incrustado cuando se cargaba en segundo plano. * Se ha corregido un error por el cual los métodos del objeto DebugTools devolvían 0 aunque el envío fuera reportado incorrecto por la respuesta HTTP. * Se ha corregido un error al aplicar el cambio de orientación de la pantalla. * Se ha corregido un error en cual los content edit-inrow="true" no cambiaba el foco correctamente al saltar de campo. * Se ha corregido un problema por el cual se mostraba una notificación la instalación de los Servicios de Google Play si estos no estaban disponibles. * Se ha arreglado una fuga de recursos en el conector SOA y otras funcionalidades que requieran de servicios SOA. ==Buenas prácticas== * Si bien un cliente puede querer forzar el tema clásico de Android 2.1 al que está acostumbrado, con el tema por defecto del dispositivo la aplicación visualmente se integra mejor con el resto de aplicaciones y el propio sistema operativo. ====Versión 4.1.0.4==== ==Nuevas funcionalidades:== * Nuevo objeto de script BluetoothSerialPort, que permite la comunicación con un dispositivo bluetooth. * Nuevo atributo para el fichero app.ini, HideLoadAppProgressBar=true, que oculta la barra de carga de la aplicación y deja sólo el splash. * Nuevos atributos webview-username y webview-password para el type="WEB". Permite especificar un usuario y contraseña para autentificación web básica. * Nuevo atributo encoding para el type="WEB". Se usa cuando se carga directamente con un código HTML. Por defecto UTF-8 * Nuevo atributo contextual-filter-when-empty para los campos de texto. Complementa a contextual-filter, cuando el valor es vacío. * Nuevo método UploadFile para el objeto FileManager para subir ficheros por http, método post. Soporta parámetros. * Se ha ampliado la funcionalidad del editor de colecciones en runtime añadiendo la posibilidad de buscar nodos por valor de atributo. * Se ha implementado la opción 1 (vbOkCancel) en el messagebox. * Los messagebox ahora controlan que no se pase el texto de tamaño ocupando toda la pantalla y hacen scroll tanto en título como en texto. * Ahora se acepta img-search, img-date, y img-width/img-height en las propiedades de los content edit-inrow. ==Cambios:== * Ahora la ventana del framework desaparecerá de la lista de aplicaciones recientes cuando se cierre la app. Antes sólo reiniciaba la aplicación y mostraba una previsualización de la última ventana, que ya no existía. ==Bugfixes:== * Varias correcciones menores a la maquinaria Javascript. ====Versión 4.1.0.0==== ==Nuevas funcionalidades:== * Se ha añadido una nueva maquinaria de Javascript para poder ejecutar scripts en dicho lenguaje. Esta funcionalidad está en fase de pruebas. * Se ha añadido soporte para mappings y recursos encriptados. * Nuevo objeto de script AndroidIntent. Permite el envío de intents Android para interactuar con el SO u otras aplicaciones. * Nuevo objeto de script DeviceInfo. Permite obtener información diversa del dispositivo. * Nuevo objeto de script SystemSettings. Permite obtener algunos valores globales y de sistema del dispositivo en el que se ejecuta, de acuerdo a los valores en la documentación oficial de Android sobre la clase Settings.Global. * Nuevo objeto de script NativeObjectWrapper. Permite la creación fácil de plugins. Sólo Android. * Nuevo objeto de script AmazonAppStore. Permite las compras integradas con la tienda de apps de Amazon. * Nuevo atributo mapview-embedded="true" para los type="Z" viewmode="mapview", permite incrustar los mapas como si fuera un content normal más en vez del botón para lanzarlo a pantalla completa como antes. * Nuevo método ui.DrawMapRoute para dibujar por script una ruta en el mapa incrustado. * Nuevo atributo onenterkey="ExecuteNode(ejemplo)" para los campos editables. Permite capturar la tecla Intro del teclado y ejecutar un nodo. * Nuevo atributo para el nodo automatic-crash-report="true" para enviar log automáticamente en caso de crash del teléfono. No es eficaz en todos los casos. * Nuevo atributo para el nodo