4D v17.1

Cambios de comportamiento

Inicio

 
4D v17.1
Cambios de comportamiento

Cambios de comportamiento    


 

Los comandos OBJECT Get action y OBJECT SET ACTION ahora utilizan constantes con valores de tipo cadena en lugar de entero largo (cuando se usa en objetos de formulario).

Código anterior:

 ARRAY TEXT($arrObjects;0)
 FORM GET OBJECTS($arrObjects)
 For($i;1;Size of array($arrObjects))
    If(OBJECT Get action(*;$arrObjects{$i})=Object No standard action)
       OBJECT SET ACTION(*;$arrObjects{$i};Object Cancel action)
    End if
 End for

Código después de la conversión a v17:

 ARRAY TEXT($arrObjects;0)
 FORM GET OBJECTS($arrObjects)
 For($i;1;Size of array($arrObjects))
    If(_o_OBJECT Get action(*;$arrObjects{$i})=_o_Object No standard action)
       OBJECT SET ACTION(*;$arrObjects{$i};_o_Object Cancel action)
    End if
 End for

Nota: solo la función _o_Object Get action ha sido declarada obsoleta porque en el caso de la compilación, es necesario establecer el tipo de resultado de antemano. Esto se hizo para que pueda considerar cambiar su código (ver a continuación), de lo contrario la compilación sería imposible.

Nuevo código: comando y constantes obsoletas a remplazar por:

 ARRAY TEXT($arrObjects;0)
 FORM GET OBJECTS($arrObjects)
 For($i;1;Size of array($arrObjects))
    If(OBJECT Get action(*;$arrObjects{$i})=ak none)
       OBJECT SET ACTION(*;$arrObjects{$i};ak cancel)
    End if
 End for


A partir de v17, las horas 4D (tipo C_TIME) manipuladas a través de las propiedades del objeto se convierten en número de segundos. En versiones anteriores, se convertían a milisegundos.

Este cambio se aplica a todas las horas convertidas a/desde objetos o colecciones utilizando notación de objetos, comandos como OB SET y OB Get, QUERY BY ATTRIBUTE, o los comandos JSON como JSON Stringify y JSON Parse. También impacta a las conversiones horas/digitales en las siguientes funcionalidades 4D:

  • Áreas web (vía JavaScript),
  • 4D Mobile,
  • SQL (función CAST)

Para facilitar la migración de las bases de datos 4D (especialmente si se han almacenado horas en los atributos del campo objeto), se puede usar una nueva opción de compatibilidad para restaurar el comportamiento anterior de la sesión:

  //restaurar el comportamiento anterior
  //que se colocará en el método base On opening / On server startup
 SET DATABASE PARAMETER(Times inside objects;Times in milliseconds)

  • Resolución de las entidades externas
    A partir de 4D v16 R3, para mejorar la seguridad, la resolución de entidades externas no está activada por defecto en los documentos XML (la declaración de una entidad externa genera un error de análisis). Para restablecer el comportamiento anterior, utilice el nuevo selector XML external entity resolution con el valor XML enabled para el comando XML SET OPTIONS.
  • Sensibilidad a mayúsculas y minúsculas
    A partir de  4D v16 R4, los comandosDOM Get XML element y DOM Count XML elements distinguen entre mayúsculas y minúsculas por defecto. Un nuevo selector le permite volver al comportamiento anterior: XML DOM case sensitivity con los siguientes valores disponibles:
    • XML case sensitive (valor por defecto): los comandos son sensibles a las mayúsculas y minúsculas
    • XML case insensitive: los comandos no son sensibles a mayúsculas y minúsculas

Los atributos wk image, wk list style image y wk background image utilizados con los comandos WP GET ATTRIBUTES o OB Get devuelven la imagen en sí y no su URL cuando la imagen no está declarada.

Para buscar la URL de la imagen, utilice los nuevos atributos wk image url, wk list style image url y wk background image url.


 
 

 
PROPIEDADES 

Producto: 4D
Tema: Cambios de comportamiento

 
HISTORIA 

Modificado: 4D v16.2

 
ARTICLE USAGE

Conversión a 4D v17 ( 4D v17)
Conversión a 4D v17 ( 4D v17.1)