Les objets sont de nouveau à l’honneur et continuent de démontrer leur utilité pour faciliter votre vie de développeur.
L’utilisation des valeurs de temps (ou de durée) à l’intérieur des objets est désormais plus fluide et plus intuitive. À partir de 4D v17, les temps à l’intérieur des objets sont définis en secondes – et non en millisecondes!
Ceci n’était pas visible auparavant pour les utilisateurs car OB SET et OB Get devaient être utilisés avec la constante is time, les conversions étaient donc effectuées automatiquement.
OB SET ($myObject; "myTime" ;$time;is time)
$time :=OB Get ($myObject; "myTime" ;is time)
Maintenant, cette constante n’est plus obligatoire. Le code ci-dessus peut être raccourci, mais plus important encore, la notation objet peut également être utilisée !
$myObject.myTime:=$time
$time :=$myObject.myTime
LE TEMPS DANS D’AUTRES CONTEXTES
INTERROGATION DES CHAMPS D’UN OBJET
- Désormais, lors de l’interrogation d’un champ d’objet avec la commande QUERY BY ATTRIBUTEles comparaisons entre les valeurs numériques et temporelles sont effectuées en secondes et non plus en millisecondes.
Voici deux exemples qui produisent le même résultat :
QUERY BY ATTRIBUTE([Table_1];[Table_1]z;"time";"=";?12:00:00?)
QUERY BY ATTRIBUTE([Table_1];[Table_1]z;"time";"=";12*60*60)
ZONE WEB
- Lors de l’appel de JavaScript dans une zone web, la conversion vers et depuis une heure est effectuée en secondes au lieu de millisecondes lors de l’utilisation de :
- WA évaluer le JavaScript
- WA EXÉCUTER LA FONCTION JAVASCRIPT
- pont 4d
LA COMPATIBILITÉ PEUT ÊTRE MAINTENUE FACILEMENT
Si nécessaire pour les bases de données existantes, ce paramètre par défaut peut être modifié avec la commande SET DATABASE PARAMETER et le sélecteur Times inside objects.
Il y a deux valeurs disponibles pour ce option:
- Times in milliseconds
- Times in seconds
Ce paramètre de base de données est appliqué à la base de données elle-même, et pas seulement au processus en cours. Afin de maintenir la compatibilité ou d’aider le processus de migration, cette commande peut être appelée pendant le processus de migration. On Startup Database Method.