Le novità di 4D v16 R4

Tradotto automaticamente da Deepl

Recuperare le novità delle precedenti release di R >

Notazione degli oggetti

Gli oggetti, introdotti come oggetti del linguaggio con 4D v14, supportati dal motore di database con 4D v15, migliorati con 4D v16, vedranno un enorme incremento di funzionalità nelle prossime versioni, a partire da 4D v16 R4. Si comincerà con il rendere la codifica più semplice e più veloce, per arrivare in un futuro non troppo lontano a una rivoluzione nel modo di scrivere il codice e di utilizzare il motore di database.

Con la notazione degli oggetti, fornita in anteprima in 4D v16 R4, è possibile scrivere semplicemente $myobject.attribute.subattribute:=5 o accedere a un attributo con $person.children[2].firstname. Come promemoria, lo stato di anteprima significa che è possibile giocare con la nuova funzionalità e impararla, ma non è ancora pronta per la produzione.

In realtà, è possibile usare la notazione degli oggetti come espressione. Ad esempio, si può creare un oggetto del modulo come una variabile di testo e assegnare direttamente l’attributo dell’oggetto, ad esempio [person]relatives.grandfather.grandfather.firstname. Non è più necessario utilizzare OB Get in modo ricorsivo per leggere il valore e assegnarlo a una variabile temporanea, ma solo per visualizzarlo.

Per utilizzare le funzioni di notazione degli oggetti, è necessario attivare la notazione degli oggetti nella pagina Compatibilità della finestra di dialogo Impostazioni database . Questa azione è irreversibile.

Quando si attiva questa funzione, occorre tenere presente che non è più consentito utilizzare caratteri speciali come punti (.) e/o parentesi quadre ([ ]) nei nomi di variabili, tabelle, campi e metodi di progetto. Per verificare che la vostra applicazione sia conforme ai prerequisiti della notazione degli oggetti, potete eseguire l’azione Verifica dell’applicazione nel MSC. Gli elementi contenenti caratteri proibiti saranno elencati nel log del MSC, in modo da poter trovare facilmente ciò che deve essere rinominato nella vostra applicazione.

La notazione degli oggetti è supportata in:

  • Editor dei metodi: L’uso della notazione degli oggetti è più elegante, più facile e più intuitivo nella manipolazione degli oggetti rispetto all’uso di OB Get e OB Set.
    È possibile creare, leggere o modificare direttamente gli attributi degli oggetti, persino creare nuovi elementi in un attributo di un array di oggetti, semplicemente utilizzandolo. Se, ad esempio, un array all’interno di un oggetto ha 3 elementi e si scrive l’elemento 10, viene automaticamente ingrandito e vengono creati gli elementi mancanti.
  • Editor di moduli: è possibile utilizzare la notazione degli oggetti come fonte di dati degli oggetti del modulo nell’editor di moduli. Gli oggetti complessi possono essere visualizzati come campi a immissione singola. Utilizzando questo linguaggio, si può anche creare un modulo in modo completamente dinamico e collegare semplicemente i widget del modulo agli attributi dell’oggetto.
  • Debugger e Runtime Explorer: È possibile utilizzare la notazione degli oggetti nel Debugger per testare e verificare il codice.

Nuovo tipo di collezione

4D v16 R4 introduce un nuovo tipo di collezione nel linguaggio 4D. A prima vista, una collezione assomiglia a un array, ma mentre un array è un elenco altamente ottimizzato dello stesso tipo(Array longint, Array Text, …), una collezione è una sorta di contenitore che memorizza un elenco di tipi individuali (un longint, poi un testo, poi un numero, poi un’immagine, un oggetto, persino un’altra collezione, ecc). Una collezione è molto flessibile. Mentre un array ha bisogno di meno memoria e potrebbe essere più veloce, una collezione è più flessibile e accelera i tempi di sviluppo.

Si può immaginare un oggetto come un elenco di attributi denominati, mentre una collezione è un elenco di attributi senza nome, a cui si accede con un indice. Il comando Nuova collezione crea una nuova collezione vuota o precompilata. Le collezioni possono essere accessibili con la notazione di oggetto

Comando Null

Il nuovo comando Null può essere utilizzato per verificare se un attributo di un oggetto o un membro di una collezione ha un valore sconosciuto o mancante (si pensi alla differenza tra il valore 0 o una stringa vuota “” con un valore non impostato). Permette anche di impostare il valore di un attributo come sconosciuto. E sì, può essere usato con la notazione degli oggetti.

Supporto delle immagini negli oggetti

Le immagini possono essere memorizzate in un campo oggetto o in una variabile oggetto. Molti sviluppatori hanno utilizzato il tipo di campo oggetto per consentire ai loro clienti di arricchire la struttura del database con campi personalizzati, memorizzando ogni tipo di informazione. Finora non era possibile memorizzare immagini.

I comandi OB Get e OB SET sono stati aggiornati per supportare il nuovo tipo di immagine Is e per poter memorizzare un’immagine in un campo oggetto. E naturalmente, è possibile utilizzare anche la notazione degli oggetti…

Convalidare gli oggetti JSON

Lavorando con gli oggetti, prima o poi si scambiano oggetti con altre applicazioni o servizi e per farlo è necessario analizzare stringhe JSON. Finché queste stringhe sono ben definite tutto va bene, ma a volte non lo sono e una nuova opzione può ridurre drasticamente i tempi di debug. Il parametro * di JSON Parse crea informazioni di debug aggiuntive (proprietà __symbols) che forniscono il percorso, la posizione della riga e l’offset della riga di ogni proprietà e sottoproprietà dell’oggetto. Queste informazioni possono essere utili per il debug.

Anche se un oggetto è ben formato, potrebbe non soddisfare le specifiche o le norme di contenuto richieste. Il nuovo comando JSON Validate consente di verificare se la struttura dell’oggetto è conforme a una determinata specifica(schema JSON).

4D Write Pro

Tabelle di 4D Write Pro

Le tabelle arrivano in 4D Write Pro. Vere e proprie tabelle, singole celle, se inserite un testo di grandi dimensioni in una cella, il testo verrà automaticamente avvolto e la larghezza della cella rimarrà invariata. È possibile creare una tabella da zero e naturalmente modificarne lo stile, le colonne, le righe e persino le singole celle, il tutto programmando.

Il nuovo comando WP Inserisci tabella consente di creare una tabella con un certo numero di celle, righe o vuoti. I seguenti comandi sono stati creati per consentire la gestione delle tabelle nel documento 4D Write Pro: WP Table append row, WP Table get rows, WP Table get columns, WP Table get cells. Tutti questi nuovi comandi sono thread-safe.

Collegamenti ipertestuali di 4D Write Pro

Aggiungere un link al logo o al nome della vostra azienda è ora facile come stilizzare il testo in grassetto. Grazie al nuovo attributo wk link url , è possibile aggiungere collegamenti ipertestuali a immagini, testi o a una combinazione di entrambi, semplicemente utilizzando i comandi WP SET ATTRIBUTES e WP GET ATTRIBUTES.

Crea la tua barra degli strumenti con le azioni standard

Create facilmente la vostra barra degli strumenti personalizzata di 4D Write Pro, senza alcuna programmazione. Il meccanismo delle azioni standard, semplice ma molto potente, è stato nuovamente esteso con 4D v16 R4. Infatti, le azioni standard possono ora essere assegnate anche a caselle di controllo e menu a comparsa.

L’utilizzo delle azioni standard consente di beneficiare di meccanismi automatici che fanno risparmiare tempo: l’attivazione/disattivazione dell’oggetto viene gestita automaticamente da 4D in base al contesto e lo stato corrente (per le caselle di controllo) o il valore (per i menu a comparsa) viene aggiornato automaticamente da 4D in base alla selezione del testo corrente.

Linea di prodotti 4D Windows 64-bit senza altura

L’intera linea di prodotti 4D Windows 64-bit non si basa più sulla libreria Mac2Win di Altura. 4D Server Windows 64-bit era l’ultimo passo da completare e questo è stato fatto con 4D v16 R4. Ciò consente a 4D di utilizzare internamente le moderne tecnologie sulla piattaforma Windows e di beneficiare di nuove funzionalità come SDI.

Supporto SDI su Windows

Su Windows, 4D era solito avere una finestra principale grigia (denominata finestra MDI) con tutte le finestre delle applicazioni visualizzate all’interno (come finestre figlio). Le applicazioni SDI, come ad esempio Microsoft Outlook, hanno una finestra principale ma possono aprire molte finestre aggiuntive indipendenti dalla finestra principale. Possono essere spostate su altri schermi, rimangono visibili anche se la finestra principale è nascosta e così via…

D’altra parte, l’MDI ha anche dei vantaggi per alcune applicazioni aziendali, in quanto tutte le finestre appartengono insieme alla costruzione dell’applicazione. Un buon esempio è Adobe Photoshop. Ecco perché 4D consente entrambe le modalità per le applicazioni unite.

Fogli di calcolo 4D View Pro

4D v16 R4 introduce in anteprima il primo passo del foglio di calcolo 4D View Pro. Scoprite il nuovo oggetto modulo di 4D View Pro e i nuovi comandi di 4D View Pro. Creare un nuovo documento con VP NEW DOCUMENT, salvarlo su disco con VP EXPORT DOCUMENT o nel database con VP Export to object e riaprirlo con VP IMPORT DOCUMENT o VP IMPORT FROM OBJECT.

Finestra di amministrazione del server personalizzata

Una serie di funzionalità in fase di sviluppo vi consentirà di creare una finestra di amministrazione del server personalizzata, controllando le informazioni che desiderate visualizzare o consentire all’amministratore di modificare.

Informazioni su processi e utenti

Come primo passo, il nuovo comando Ottieni attività di processo fornisce un’istantanea delle sessioni utente connesse, dei relativi processi in esecuzione e di tutti i processi correnti, compresi quelli interni che non erano raggiungibili con il comando PROPRIETÀ PROCESSO. È inoltre possibile calcolare dalle informazioni sulla sessione/processo restituite il tempo di CPU consumato da questo processo dal momento della connessione (in secondi) e la percentuale di attività (ad esempio: 2%).

Informazioni dettagliate sulle licenze

Il nuovo comando Ottieni informazioni sulle licenze restituisce informazioni dettagliate sulle licenze installate e sulle licenze utilizzate/disponibili.

Controllo migliorato della visualizzazione dei suggerimenti di aiuto

È molto semplice: con il comando SET DATABASE PARAMETER si possono disabilitare o abilitare tutti i suggerimenti di aiuto all’interno di un’applicazione 4D. Inoltre, è possibile definire il ritardo di visualizzazione e la durata massima della visualizzazione per lingua. Ma non è tutto: è anche possibile modificare dinamicamente il testo di un suggerimento di aiuto utilizzando il comando OBJECT SET HELP TIP.

Definire l’ordine delle schede del modulo in base alla programmazione

Questa funzione consente di definire in un modulo l’ordine di inserimento degli oggetti tramite programmazione, in modo da poter controllare su quale oggetto successivo del modulo si concentrerà l’attenzione quando l’utente preme il tasto TAB. Due nuovi comandi – FORM SET ENTRY ORDER e FORM GET ENTRY ORDER – consentono rispettivamente di impostare e ottenere dinamicamente l’ordine di inserimento degli oggetti del modulo per il processo corrente. Questa funzione è particolarmente utile quando si creano moduli in modo dinamico.

Miglioramento dell’interfaccia utente relativa a IPv6

4D v16 R4 apporta alcuni miglioramenti all’interfaccia utente per migliorare l’esperienza di chi utilizza configurazioni di rete IPv6.

Volete saperne di più? Leggete tutti i post del blog su 4D v16 R4!