4D v17.1

Changement de comportement

Accueil

 
4D v17.1
Changement de comportement

Changement de comportement    


 

Les commandes OBJET Lire action et  OBJET FIXER 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 :

 TABLEAU TEXTE($arrObjects;0)
 FORM LIRE OBJETS($arrObjects)
 Boucle($i;1;Taille tableau($arrObjects))
    Si(OBJET Lire action(*;$arrObjects{$i})=Objet sans action standard)
       OBJET FIXER ACTION(*;$arrObjects{$i};Objet action Annuler)
    Fin de si
 Fin de boucle

Code après conversion en v17 :

 TABLEAU TEXTE($arrObjects;0)
 FORM LIRE OBJETS($arrObjects)
 Boucle($i;1;Taille tableau($arrObjects))
    Si(_o_OBJET Lire action(*;$arrObjects{$i})=_o_Objet sans action standard)
       OBJET FIXER ACTION(*;$arrObjects{$i};_o_Objet action Annuler)
    Fin de si
 Fin de boucle

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 :

 TABLEAU TEXTE($arrObjects;0)
 FORM LIRE OBJETS($arrObjects)
 Boucle($i;1;Taille tableau($arrObjects))
    Si(OBJET Lire action(*;$arrObjects{$i})=ak none)
       OBJET FIXER ACTION(*;$arrObjects{$i};ak cancel)
    Fin de si
 Fin de boucle

A compter de la v17, les heures 4D (type C_HEURE) 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 FIXER et OB Lire, CHERCHER PAR ATTRIBUT, 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
 FIXER PARAMETRE BASE(Heures dans les objets;Heures en millisecondes)

  • 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 FIXER OPTIONS.
  • Sensibilité à la casse
    A partir de 4D v16R4, les commandes DOM Lire element XML et DOM Compter elements XML 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 LIRE ATTRIBUTS ou OB Lire 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
Nom intl. : Changes in behavior

 
HISTORIQUE 

Modifié : 4D v16.2

 
UTILISATION DE L'ARTICLE

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