Novedades de 4D v16 R4

Traducido automáticamente de Deepl

Recuperar las novedades de las versiones anteriores de R >

Notación de objetos

Los objetos, introducidos como objetos del lenguaje con 4D v14, soportados por el motor de la base de datos con 4D v15, mejorados con 4D v16 – verán un enorme aumento de funcionalidad en las próximas versiones, comenzando con 4D v16 R4. Empezará por hacer la codificación más fácil y rápida – y conducirá en un futuro no muy lejano a una revolución en la forma de escribir código y utilizar el motor de base de datos.

Con la notación de objetos, proporcionada como vista previa en 4D v16 R4, puede simplemente escribir $myobject.attribute.subattribute:=5 o acceder a un atributo con $person.children[2].firstname. Sólo como recordatorio, el estado de vista previa significa que puedes jugar con la nueva funcionalidad y aprenderla, pero aún no está lista para producción.

De hecho, puedes utilizar la notación de objetos como expresión. Por ejemplo, cree un objeto de formulario como una variable de texto y asigne directamente el atributo del objeto, por ejemplo, [persona]familiares.abuelo.nombre. Ya no es necesario utilizar OB Get recursivamente para leer el valor y asignarlo a una variable temporal, sólo para mostrarlo.

Para utilizar las funciones de notación de objetos, debe activar la notación de objetos en la página de compatibilidad del cuadro de diálogo de configuración de la base de datos . Esta acción es irreversible.

Al activar esta característica, debe tener en cuenta que ya no está permitido utilizar caracteres especiales como puntos (.) y/o corchetes ([ ]) en los nombres de las variables, tablas, campos y métodos del proyecto. Para verificar que su aplicación cumple con los requisitos de notación de objetos, puede ejecutar la acción Verificar la aplicación en el MSC. Los elementos que contengan caracteres prohibidos aparecerán en el registro del MSC, para que puedas encontrar fácilmente lo que hay que renombrar en tu aplicación.

La notación de objetos está soportada en:

  • Editor de métodos: El uso de la notación de objetos es más elegante, más fácil y más intuitivo en la manipulación de objetos que el uso de OB Get y OB Set.
    Puede crear, leer o modificar los atributos de los objetos directamente, incluso crear nuevos elementos en un atributo de matriz de objetos simplemente utilizándolo. Si por ejemplo un array dentro de un objeto tiene 3 elementos y se escribe en el elemento 10, se amplía automáticamente y se crean los elementos que faltan.
  • Editor de formularios: Puede utilizar la notación de objetos como fuente de datos de objetos de formulario en el editor de formularios. Los objetos complejos pueden mostrarse como campos de entrada única. Usando el lenguaje puedes incluso crear un formulario de forma totalmente dinámica y simplemente vincular los widgets del formulario a los atributos del objeto.
  • Depurador y explorador en tiempo real: Puedes utilizar la notación de objetos en el depurador para probar y comprobar tu código.

Nuevo tipo de colección

4D v16 R4 introduce un nuevo tipo de colección en el lenguaje 4D. A primera vista, una colección se parece a un array, pero mientras que un array es una lista altamente optimizada del mismo tipo(Array longint, Array Text, …), una colección es una especie de contenedor que almacena una lista de tipos individuales (un longint, luego un texto, luego un número, luego una imagen, un objeto, incluso otra colección, etc). Una colección es muy flexible. Mientras que un array necesita menos memoria y podría ser más rápido, una colección es más flexible y acelera el tiempo de desarrollo.

Puedes imaginar un objeto como una lista de atributos con nombre, mientras que una colección es una lista de atributos sin nombre, a la que se accede con un índice. El comando Nueva colección crea una nueva colección vacía o precargada. Y se puede acceder a las colecciones con la notación deobjeto…

Comando Null

El nuevo comando Null se puede utilizar para comprobar si un atributo de un objeto o un miembro de una colección tiene un valor desconocido o ausente (tenga en cuenta la diferencia del valor 0 o una cadena vacía «» con un valor no establecido). También permite establecer el valor de un atributo como desconocido. Y sí, se puede utilizar con la notación de objeto.

Soporte de imágenes en objetos

Las imágenes pueden almacenarse en un campo de objeto o en una variable de objeto. Muchos desarrolladores utilizan el tipo de campo objeto para permitir a sus clientes mejorar la estructura de la base de datos con campos personalizados, almacenando todo tipo de información. Las imágenes no eran posibles hasta ahora.

Los comandos OB Get y OB SET han sido actualizados para soportar el nuevo tipo de imagen Is y poder almacenar una imagen en un campo objeto. Y, por supuesto, también se puede utilizar la notación de objeto…

Validar objetos JSON

Al trabajar con objetos, tarde o temprano intercambiarás objetos con otras aplicaciones o servicios, y para hacerlo necesitas analizar cadenas JSON. Siempre que estas cadenas estén bien definidas todo está bien, pero a veces no lo están y una nueva opción puede reducir drásticamente tu tiempo de depuración. La opción * del parámetro JSON Parse crea información de depuración adicional (propiedad __symbols) que proporciona la ruta, la posición de la línea y el desplazamiento de la línea de cada propiedad y subpropiedad del objeto. Esta información puede ser útil para fines de depuración.

Aunque un objeto esté bien formado, puede que no cumpla con las especificaciones o normas de contenido solicitadas. El nuevo comando JSON Validate permite comprobar si la estructura del objeto se ajusta a una especificación determinada(esquema JSON).

4D Write Pro

Tablas de 4D Write Pro

Las tablas llegan a 4D Write Pro. Tablas reales, celdas individuales, si introduce un texto grande en una celda, el texto se envolverá automáticamente, y el ancho de la celda seguirá siendo el mismo. Puedes crear una tabla desde cero y por supuesto modificar el estilo de la tabla, o sus columnas, filas e incluso celdas individuales, todo esto mediante programación.

El nuevo comando WP Insertar tabla permite crear una tabla con un número de celdas, filas o vacía. Los siguientes comandos han sido creados para permitirle manejar las tablas en su documento 4D Write Pro: WP Table append row, WP Table get rows, WP Table get columns, WP Table get cells. Todos estos nuevos comandos son seguros.

Hipervínculos de 4D Write Pro

Añadir un enlace al logo de su empresa o al nombre de la misma es ahora tan fácil como poner un texto en negrita. Gracias al nuevo atributo wk link url , los hipervínculos pueden ser añadidos en imágenes, texto o una combinación de ambos, simplemente usando los comandos WP SET ATTRIBUTES y WP GET ATTRIBUTES.

Diseñe su propia barra de herramientas con acciones estándar

Cree fácilmente su barra de herramientas personalizada de 4D Write Pro, sin necesidad de programar. El mecanismo de acciones estándar, simple pero muy potente, ha sido ampliado de nuevo con 4D v16 R4. De hecho, las acciones estándar ahora también pueden ser asignadas a casillas de verificación y menús emergentes.

El uso de acciones estándar hace que se beneficie de mecanismos automáticos que le ahorrarán tiempo: la activación/desactivación del objeto es manejada automáticamente por 4D dependiendo del contexto y el estado actual (para las casillas de verificación) o el valor (para los menús emergentes) es actualizado automáticamente por 4D de acuerdo con la selección de texto actual.

Línea de productos 4D Windows 64-bit sin altura

Toda la línea de productos 4D Windows 64-bit ya no depende de la librería Mac2Win de Altura. 4D Server Windows 64-bit era el último paso a completar y esto se hace con 4D v16 R4. Esto permite a 4D utilizar internamente tecnologías modernas en la plataforma Windows, y hacer que se beneficie de nuevas características como SDI.

Soporte SDI en Windows

En Windows, 4D solía tener una ventana principal gris (llamada ventana MDI) con todas las ventanas de la aplicación mostradas dentro (como ventanas hijas). Las aplicaciones SDI, como Microsoft Outlook por ejemplo, tienen una ventana principal pero pueden abrir muchas ventanas adicionales que son independientes de la ventana principal. Se pueden mover a otras pantallas, permanecen visibles incluso si la ventana principal está oculta, etc.

Por otro lado, el MDI también tiene beneficios para algunas aplicaciones empresariales, ya que todas las ventanas pertenecen juntas para construir la aplicación. Un buen ejemplo es Adobe Photoshop. Por ello, 4D permite ambos modos para aplicaciones fusionadas.

4D View Pro Hojas de cálculo

4D v16 R4 introduce el primer paso de la hoja de cálculo de 4D View Pro como una vista previa. Descubra el nuevo objeto formulario de 4D View Pro, y los nuevos comandos de 4D View Pro. Cree un nuevo documento con VP NEW DOCUMENT, guárdelo en el disco con VP EXPORT DOCUMENT o en la base de datos con VP Export to object y reabrirlo con VP IMPORT DOCUMENT o VP IMPORT FROM OBJECT.

Ventana de administración del servidor personalizada

Una serie de características en desarrollo le permitirán crear su propia ventana de administración del servidor, controlando qué información quiere mostrar o permitir que el administrador cambie.

Información sobre procesos y usuarios

Como primer paso, el nuevo comando Obtener actividad de procesos ofrece una instantánea de las sesiones de usuario conectadas, de los procesos en ejecución relacionados y de todos los procesos actuales, incluidos los procesos internos a los que no se podía acceder con el comando PROPIEDADES DE LOS PROCESOS. También puede calcular, a partir de la información de la sesión/proceso devuelta, el tiempo de CPU consumido por este proceso desde que se conectó (en segundos) y el porcentaje de actividad (por ejemplo: 2%).

Información detallada sobre las licencias

El nuevo comando Get license info devuelve información detallada sobre las licencias instaladas y las licencias usadas/disponibles.

Control mejorado de la visualización de consejos de ayuda

Bastante simple, puede programar para desactivar o activar todos los consejos de ayuda dentro de una aplicación 4D con el comando SET DATABASE PARAMETER. Más mejorado, puede definir el retardo de visualización y la duración máxima de la visualización por idioma. Pero eso no es todo, también es posible modificar dinámicamente el texto de un consejo de ayuda utilizando el comando OBJECT SET HELP TIP.

Definir el orden de las pestañas del formulario mediante programación

Esta función permite definir en un formulario el orden de entrada de los objetos mediante programación, de modo que se puede controlar en qué objeto del formulario siguiente se centrará el foco cuando el usuario pulse la tecla TAB. Dos nuevos comandos – FORM SET ENTRY ORDER y FORM GET ENTRY ORDER – le permiten, respectivamente, establecer y obtener dinámicamente el orden de entrada de los objetos del formulario para el proceso actual. Esta función es especialmente útil cuando se crean formularios de forma dinámica.

Mejora de la interfaz de usuario relacionada con IPv6

4D v16 R4 proporciona algunas mejoras en la interfaz de usuario para una mejor experiencia de usuario para las personas que utilizan configuraciones de red IPv6.

¿Quiere saber más? Lea todas las publicaciones del blog sobre 4D v16 R4