Le novità di 4D v18 R3

Tradotto automaticamente da Deepl

Caratteristiche legate alla programmazione

Le classi

4D v18 R3 introduce un nuovo concetto nel linguaggio 4D: le classi. Una classe consente di definire il comportamento di un oggetto attraverso proprietà e funzioni. Una volta definita una classe, è possibile istanziare oggetti di questa classe in qualsiasi punto del codice. Ogni oggetto è un’istanza della sua classe. Le classi possono estendere altre classi e quindi ereditare le loro funzioni.

In 4D sono disponibili due tipi di classi: le classi integrate in 4D (restituite dal comando 4D ) e le classi utente (restituite dal comando cs ).

Per creare un oggetto come istanza di una classe, si usa il comando cs con la funzione membro new. Un altro termine importante da conoscere è: costruttore. Il costruttore viene utilizzato per creare e istanziare un oggetto con attributi predefiniti. Viene chiamato automaticamente quando un oggetto viene inizializzato. La creazione di una classe si effettua dal menu “Nuovo” della barra degli strumenti o dalla finestra di dialogo “Esploratore”. Verrà visualizzato un editor di classi in cui è possibile creare il costruttore e le funzioni della classe.

Ereditarietà delle classi

L’ereditarietà consente a una classe di ereditare il comportamento di un’altra classe (la classe genitore ). Per ereditare da una classe utente a un’altra, si usa la parola chiave Class extends e viene automaticamente richiamato il costruttore della classe genitore (se non è stato definito un costruttore specifico per la classe figlia ). Si può anche usare il comando Super per richiamare il costruttore della classe genitore.

Server web multipli in una singola istanza di 4D

4D v18 R3 consente di avviare e monitorare un server web per il database principale (host) e per ogni componente ospitato. Il nuovo comando WEB server consente di gestire i server web all’interno di oggetti separati per ciascun server. Accetta anche un parametro opzionale per definire quale server utilizzare:

  • Server database web – per manipolare il server web del database corrente (il database host o il database del componente, a seconda di dove viene richiamato il comando)
  • Server database host web – per manipolare il server web del database host da un componente
  • Server di ricezione delle richieste web – per manipolare il server web che riceve una richiesta, ad esempio in un metodo comune di gestione del server web.

Per avviare e arrestare il server web sono disponibili due metodi membri: start() e stop(). Per ottenere un elenco dei server web disponibili, il nuovo comando WEB Server list restituisce una collezione di oggetti corrispondenti a tutti i server web disponibili per il database host.

Supporto XPath migliorato

A partire da 4D v18 R3, l’implementazione di XPath è più conforme e semplifica le ricerche consentendo il supporto di espressioni come //, @, * e last(). Per motivi di compatibilità, l’implementazione precedente, non standard, viene mantenuta per default nei database convertiti. Per sfruttare le funzionalità estese nei database convertiti, selezionare l’opzione Usa compatibilità XPath standard nella pagina Compatibilità.

Miglioramenti a oggetti e collezioni

Il comando OB Copy() e il metodo membro collection.copy() sono stati migliorati in 4D v18 R3. Ora consentono di aggiungere un oggetto standard a un oggetto o a una collezione condivisa, per evitare un codice complesso per copiare il contenuto dell’oggetto standard nell’oggetto o nella collezione condivisa. Inoltre, sono disponibili nuovi comandi per gestire gli oggetti come mappe hash:

  • OB Keys: restituisce i nomi delle proprietà di un oggetto come collezione.
  • OB Valori: restituisce i valori delle proprietà di un oggetto come raccolta.
  • OB Entries: restituisce un insieme di oggetti con proprietà chiave (nome della proprietà) e valori (valore della proprietà).

Creare un’area web fuori schermo

4D v18 R3 consente di utilizzare un’area Web in modalità offscreen con il comando WA Esegui area offscreen. Crea un’area Web in memoria e prende come parametro tutte le informazioni pertinenti per l’area Web, quali :

  • L’URL da caricare
  • Il nome dell’area
  • La formula richiamata quando viene lanciato un evento dall’area Web.

Per semplificare il debug di un’area Web fuori schermo, è stato aggiunto un nuovo comando: WA OPEN WEB INSPECTOR. Questo comando apre l’ispettore web e consente di verificare se la pagina è stata caricata correttamente o se il codice JavaScript ha prodotto degli errori.

Amministrazione del server 4D

Monitorare l’attività del server 4D

Per scoprire quali operazioni causano la lentezza di un server, 4D v18 R3 offre un nuovo comando: AVVIA MONITORAGGIO ATTIVITÀ. Il comando registra le operazioni che superano una durata specifica utilizzando due parametri: la durata e l’operazione da monitorare. In base alle specifiche impostate da questo comando, è possibile ottenere tutte le attività registrate con il comando Get Monitored Activity(). Quando si decide di interrompere la registrazione dell’attività dell’applicazione 4D o di svuotare l’elenco delle attività, si chiama il comando STOP MONITORING ACTIVITY.

ORDA

Nuovi metodi di selezione delle entità

In 4D v18 R3 sono disponibili nuovi metodi membri:

  • extract(): per estrarre i dati da una selezione di entità. Ciò consente di costruire una collezione completamente personalizzata con i dati della selezione di entità. È possibile specificare gli attributi della classe di dati che si desidera estrarre e i loro nomi nella collezione risultante.
  • refresh(): invalida i dati della selezione di entità nella cache di ORDA. Innesca un aggiornamento dal server la volta successiva che si utilizzano i dati. Per impostazione predefinita, la cache di ORDA scade dopo 30 secondi; utilizzare questo metodo membro se si ha bisogno di dati aggiornati immediatamente.

Selezione delle righe della casella di riepilogo

4D v18 R3 offre un nuovo comando che facilita la selezione delle righe in una selezione di entità: LISTBOX SELECT ROWS. Accetta una selezione di entità come parametro e le righe che corrispondono alla selezione di entità possono essere selezionate in modo intuitivo (comprese le righe aggiunte o rimosse dalla selezione). Per le caselle di riepilogo di raccolte, è possibile passare una raccolta contenente i riferimenti agli oggetti che si desidera selezionare.

Database dei progetti

Documentazione del metodo

A partire da 4D v18 R3, è possibile scrivere la propria documentazione per i metodi di progetto, database, trigger, progetto e modulo tabella. La documentazione viene salvata in un file Markdown con lo stesso nome del metodo o del modulo in una cartella di documentazione. Markdown è un formato standard per la documentazione e consente stili di formattazione avanzati. Il formato può essere visualizzato in 4D Explorer, in GitHub o in altri strumenti. La documentazione può contenere la descrizione di un elemento e tutte le informazioni necessarie per capire come funziona l’elemento nel database. Per creare o modificare il file di documentazione in un database di progetto, dall’Explorer fare clic sul pulsante “Crea” o selezionare la voce di menu “Modifica documentazione”. 4D crea il file corrispondente e lo apre nell’editor predefinito con un modello preimpostato.

Definire le dimensioni dei caratteri automatici

4D offre tre temi di caratteri automatici che rispettano le linee guida di ogni piattaforma. 4D v18 R3 consente di sovrascrivere le dimensioni di questi temi automatici e di avere un maggiore controllo sulla visualizzazione del testo.

4D per iOS

Modelli pronti all’uso

Sono disponibili oltre 40 modelli pronti all’uso, accessibili dall’editor del progetto. La galleria si basa su un elenco dinamico di modelli aggiornati disponibili su GitHub. Per utilizzare un modello, è disponibile l’iconaMore” sia per i moduli di elenco che per quelli di dettaglio, che visualizzerà l’intero elenco di modelli dalla sezione Moduli. Selezionate il modello e 4D per iOS si occuperà dell’installazione. Come ultimo passo, è possibile migliorarlo per soddisfare le proprie esigenze.

Messaggi di posta elettronica

Scaricare le e-mail in formato MIME

4D v18 R3 fornisce un comando che consente di memorizzare le e-mail nel loro formato originale, non convertito, ricevuto. Utilizzando il metodo POP3_transporter.getMIMEAsBlob( ), è possibile ottenere un BLOB contenente il contenuto MIME di un messaggio specifico, che può essere salvato nel database o altrove.

4D Write Pro

Nuove azioni standard per le tabelle e i loro elementi

4D v18 R3 aggiunge a 4D Write Pro nuove azioni standard per tabelle, righe e celle. Esse consentono di definire il tipo di bordo di una tabella, il colore di sfondo di una cella, l’allineamento verticale del testo in una riga, l’allineamento della tabella stessa all’interno del documento, i margini, il padding e oltre 40 altre opzioni. Di conseguenza, l’interfaccia di 4D Write Pro è stata migliorata in termini di capacità di elaborazione delle tabelle. Sono stati aggiunti quattro nuovi pulsanti per modificare l’aspetto di tabelle, righe, colonne e celle.

Supporto degli attributi protetti

In 4D v18 R3, determinate parti dei documenti 4D Write Pro (o tutte le parti) possono essere “non modificabili”. Sono disponibili due livelli di protezione. Innanzitutto, si deve definire quale parte dei documenti sarà protetta (per impostazione predefinita, tutte le parti sono protette). Quindi, attivare il flag di protezione del documento in modo che le impostazioni effettuate vengano prese in considerazione. A questo scopo, sono disponibili due nuovi attributi da usare con il comandoWPSET ATTRIBUTES : wk protected (può essere impostato su quasi tutti i tipi di target appartenenti a un documento) e wk protection enabled (abilita o disabilita la protezione globale del documento).

4D View Pro

Più opzioni per personalizzare i fogli di lavoro

È disponibile un nuovo comando, VP SET SHEET OPTIONS, che consente di definire varie opzioni di foglio di un’area di 4D View Pro. Ad esempio, questo comando consente di:

  • proteggere un foglio di lavoro impedendo la modifica delle celle al suo interno,
  • personalizzare i colori delle schede del foglio di lavoro, delle linee congelate, delle linee della griglia o dello sfondo e del bordo di una selezione,
  • gestire la visibilità delle griglie e delle intestazioni di riga e colonna di un foglio di lavoro.

Volete saperne di più? Leggete tutti i post del blog su 4D v18 R3