Gli oggetti sono di nuovo all’opera, continuando a dimostrare la loro utilità per facilitare la vita degli sviluppatori.
L’utilizzo dei valori di tempo (o di durata) all’interno degli oggetti è ora più fluido e intuitivo. A partire da 4D v17, i tempi all’interno degli oggetti vengono impostati come secondi e non come millisecondi!
In precedenza non era visibile agli utenti perché OB SET e OB Get dovevano essere usati con la costante is time, quindi le conversioni venivano effettuate automaticamente.
OB SET ($myObject; "myTime";$time;is time)
$time :=OB Get ($myObject; "myTime";is time)
Ora, questa costante non è più obbligatoria. Il codice qui sopra può essere abbreviato, ma ancora più importante, si può usare anche la notazione a oggetti!
$myObject.myTime:=$time
$time :=$myObject.myTime
TEMPO IN ALTRI CONTESTI
INTERROGARE I CAMPI DEGLI OGGETTI
- D’ora in poi, quando si interroga un campo oggetto con QUERY BY ATTRIBUTEi confronti tra i valori numerici e temporali vengono eseguiti in secondi anziché in millisecondi.
Ecco due esempi che producono lo stesso risultato:
QUERY BY ATTRIBUTE([Table_1];[Table_1]z;"time";"=";?12:00:00?)
QUERY BY ATTRIBUTE([Table_1];[Table_1]z;"time";"=";12*60*60)
AREA WEB
- Quando si richiama JavaScript in un’area web, la conversione da e verso un tempo viene eseguita in secondi anziché in millisecondi:
- WA Valutare JavaScript
- WA ESEGUE LA FUNZIONE JAVASCRIPT
- ponte $4d
La compatibilità può essere mantenuta con facilità
Se necessario per i database esistenti, questa impostazione predefinita può essere modificata con il comando SET DATABASE PARAMETER e il selettore Times inside objects.
Ci sono due valori disponibili per questo option:
- Times in milliseconds
- Times in seconds
Questo parametro del database viene applicato al database stesso, non solo al processo corrente. Per mantenere la compatibilità o aiutare il processo di migrazione, questo comando può essere richiamato durante il processo di migrazione. On Startup Database Method.