Automatické dokončování tříd je k dispozici od verze 4D v18 R4. Tato funkce zjednodušuje psaní kódu a omezuje chyby například v názvech funkcí. Nevyhýbá se jim však zcela; je snadné přehodit dvě písmena nebo zapomenout velké písmeno a pak musíte trávit čas hledáním, proč váš kód nefunguje.
Jaký je tedy lepší způsob než požádat 4D, aby zkontroloval, zda třídy nebo funkce již existují?
Počínaje verzí 4D v19 R4 se v editoru kódu zobrazí varování, pokud voláte funkci, která neexistuje.
Co se kontroluje
Při deklaraci nebo instanci třídy se kontroluje název třídy. U tříd 4D, uživatelských tříd nebo uživatelských tříd ORDA se ověřuje také název funkce.
A kde?
V editoru kódu
Při psaní kódu se v případě, že uděláte pravopisnou chybu nebo použijete špatnou funkci, vlevo od řádku zobrazí varování.
Okno překladače
Stejně jako všechna ostatní varování 4D najdete varování v okně Kompilátor.
Příkaz Compile Project
Od verze 19 můžete díky příkazu Compile project spustit „kontrolu syntaxe“ programováním. Stavový objekt vrácený tímto příkazem obsahuje všechna varování:
var $options; $status: Object
$options :=New object()
$options .targets:=New collection()
$status :=Compile project($options)
Zde je uveden obsah objektu $status:
{ "success": true, "errors": [ {..}, { "message": "The function or property orderby is incompatible with the type driversSelection. (550.2)", "isError": false, "code": { "type": "projectMethod", "methodName": "Method2", "path": "Method2", "file": "[object File]" }, "line": 6, "lineInFile": 7 }] }
A…
Neváhejte se vyjádřit na fóru 4D.