Objekty jsou opět v kurzu a nadále dokazují svou užitečnost, která vám jako vývojáři usnadní život.
Používání hodnot času (nebo trvání) uvnitř objektů je nyní plynulejší a intuitivnější. Počínaje verzí 4D v17 se časy uvnitř objektů nastavují jako sekundy – a nikoli milisekundy!
Dříve nebyl pro uživatele viditelný, protože OB SET a OB Get musely být použity s konstantou is time, takže konverze byly prováděny automaticky.
OB SET ($myObject; "myTime";$time;is time)
$time :=OB Get ($myObject; "myTime";is time)
Nyní již tato konstanta není povinná. Výše uvedený kód lze zkrátit, ale ještě důležitější je, že lze použít i objektový zápis!
$myObject.myTime:=$time
$time :=$myObject.myTime
ČAS V JINÝCH SOUVISLOSTECH
DOTAZOVÁNÍ NA POLE OBJEKTU
- Od nynějška se při dotazování na pole objektu pomocí QUERY BY ATTRIBUTE, se porovnávání číselných a časových hodnot provádí v sekundách namísto milisekund.
Zde jsou dva příklady, které vedou ke stejnému výsledku:
QUERY BY ATTRIBUTE([Table_1];[Table_1]z;"time";"=";?12:00:00?)
QUERY BY ATTRIBUTE([Table_1];[Table_1]z;"time";"=";12*60*60)
OBLAST WEBU
- Při volání JavaScriptu ve webové oblasti se při použití převodu na a z času provádí převod v sekundách místo v milisekundách:
- WA Vyhodnotit JavaScript
- WA SPUSTIT FUNKCI JAVASCRIPTU
- $4d bridge
KOMPATIBILITA MŮŽE BÝT UDRŽOVÁNA Snadno
V případě potřeby lze u existujících databází toto výchozí nastavení změnit pomocí příkazu SET DATABASE PARAMETER a výběrem Times inside objects.
Pro tuto stránku option jsou k dispozici dvě hodnoty :
- Times in milliseconds
- Times in seconds
Tento parametr se vztahuje na samotnou databázi, nikoli pouze na aktuální proces. Chcete-li zachovat kompatibilitu nebo napomoci procesu migrace, lze tento příkaz zavolat v průběhu On Startup Database Method.