Quando si lavora su un’applicazione 4D di grandi dimensioni, è normale suddividere le funzionalità tra un progetto host e diversi componenti. Questa architettura modulare mantiene tutto pulito, facile da organizzare e gestibile, ma può anche creare una sfida: capire dove viene utilizzato un metodo.
A partire da 4D 21, un importante miglioramento ha reso questo flusso di lavoro ancora più fluido: ora è possibile modificare il codice sorgente di un componente direttamente dal progetto host, senza cambiare contesto. E con 4D 21 R2, la finestra di dialogo Trova nel design è stata migliorata per consentire la ricerca non solo all’interno del progetto host, ma anche in tutti i componenti accessibili creati in modalità progetto con il loro codice sorgente disponibile.
Ricerca nel progetto host e nei suoi componenti
Il miglioramento più importante è la possibilità di eseguire una ricerca non solo nel progetto host, ma anche in tutti i componenti accessibili.
Ora è possibile scegliere esattamente dove effettuare la ricerca:
-
Solo nel progetto host
-
Un solo componente
-
Progetto host insieme a tutti i componenti accessibili

Risultati della ricerca
Ogni risultato proveniente da un componente ora include il nome del componente tra parentesi. Anche i suggerimenti sono stati migliorati. Quando si passa il mouse su una riga di risultati, il suggerimento include il nome del componente.

Esportazioni di ricerca
Molti utenti desiderano elaborare i risultati della ricerca esternamente per scopi di auditing, generazione di documentazione o revisione del codice. A tal fine, i risultati della ricerca esportati ora includono nella prima colonna il nome del progetto o del componente a cui appartiene ogni elemento trovato:
{
"type": "text",
"in": "'My host project' and components",
"operator": "contains",
"what": "alert",
"caseSensitive": false,
"searchInForms": true,
"searchInMethods": true
}
DateTimeComponent class [class]/Class8 method ALERT("function test") 2
Mycomponent projectMethod MyComponentMethod method ALERT("Hello") 1
Mycomponent class [class]/MyComponentClass method Function alert($myAlert : Text) 1
Mycomponent class [class]/MyComponentClass method ALERT($myAlert) 2
Conclusione
Queste evoluzioni migliorano significativamente l’esplorazione, la rifattorizzazione e la manutenzione del codice, in particolare nelle architetture modulari costruite attorno ai componenti. Se lavori con configurazioni multiprogetto, questi miglioramenti ti faranno risparmiare tempo, ridurranno gli errori e ti forniranno una panoramica più chiara della struttura della tua applicazione.
