4D v17.1

Changement de comportement

Accueil

 
4D v17.1
Changement de comportement

Changement de comportement    


 

Les commandes OBJECT Get action et  OBJECT SET ACTION utilisent désormais des constantes avec valeurs de type chaîne, et non plus de type entier long (quand elles sont utilisées sur des objets du formulaire).

Ancien code :

 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

Code après conversion en 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

Note : Seule la fonction _o_Objet Lire action a été déclarée obsolète car en cas de compilation, il est nécessaire de fixer à l'avance le type du résultat. Ceci a été fait pour que vous pensiez à changer votre code (voir ci-dessous) sinon la compilation serait impossible.

Nouveau code : commande et constantes obsolètes à remplacer par :

 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 compter de la v17, les heures 4D (type C_TIME) manipulées via les propriétés d'objet sont converties en nombre de secondes. Dans les versions précédentes, elles étaient converties en nombre de millisecondes.

Ce changement s'applique à toutes les heures converties depuis et vers les objets ou les collections à l'aide de notation objet, des commandes telles que OB SET et OB Get, QUERY BY ATTRIBUTE, ou des commandes JSON telles que JSON Stringify et JSON Parse. Il impacte également les conversions heures/numérique dans les fonctionnalités suivantes de 4D :

  • zones Web (via JavaScript),
  • 4D Mobile,
  • SQL (fonction CAST)

Pour faciliter la migration des bases 4D (en particulier si des heures ont été stockées dans des attributs de champs objet), une nouvelle option de compatibilité permet de rétablir l'ancien fonctionnement pour la session :

  //réactiver le précédent fonctionnement
  //à placer dans la méthode base sur ouverture /sur démarrage serveur
 SET DATABASE PARAMETER(Times inside objects;Times in milliseconds)

  • Résolution des entités externes
    A partir de 4D v16 R3, pour des raisons de sécurité, la résolution des entités externes n'est pas activée par défaut dans les documents XML (la déclaration d'une entité externe génère une erreur d'analyse). Pour rétablir le fonctionnement précédent, utilisez le nouveau sélecteur XML résolution des entités externes avec la valeur XML activé de la commande XML SET OPTIONS.
  • Sensibilité à la casse
    A partir de 4D v16R4, les commandes DOM Get XML element et DOM Count XML elements sont sensibles à la casse par défaut. Un nouveau sélecteur vous permet de revenir à l'ancien fonctionnement : XML DOM sensibilité à la casse avec comme valeurs possibles :
    • XML casse sensible (valeur par défaut) : les commandes tiennent compte de la casse.
    • XML casse insensible : les commandes ne tiennent pas compte de la casse.

Les attributs "wk image", "wk list style image" et "wk background image" utilisés avec WP GET ATTRIBUTES ou OB Get retournent l'image elle-même et non son url lorsque la variable image n'est pas déclarée.

Pour retrouver l'url de l'image, utilisez les nouveaux attributs "wk image url", "wk list style image url" et "wk background image url".

 
 

 
PROPRIÉTÉS 

Produit : 4D
Thème : Changement de comportement

 
HISTORIQUE 

Modifié : 4D v16.2

 
UTILISATION DE L'ARTICLE

Conversion en 4D v17 ( 4D v17)
Conversion en 4D v17 ( 4D v17.1)