It is currently 21 April 2025, 8:33 Advanced search

componenti e variabili globali

Domande e risposte su come utilizzare Instant Developer Foundation al meglio

componenti e variabili globali

Postby zpj61 » 15 April 2025, 17:26

Ho un problema con una variabile globale pubblica di un componente. Nella app questa variabile ritorna sempre il suo valore (è pubblica e viene valorizzata da una procedura del componente). Se però provo ad usare la stessa variabile dentro un altro componente della applicazione questa perde il valore. In pratica mi risulta che una variabile globale pubblica di un componente non sia utilizzabile dentro un altro componente. E' effettivamente così? Grazie
User avatar
zpj61
 
Posts: 1020
Joined: 20 November 2015, 8:20
Location: Bassano del Grappa

Re: componenti e variabili globali

Postby r.bianco » 16 April 2025, 6:30

Verifica che su tutti i componenti ci sia il flag "istanza condivisa" attivo.
only work and no play makes jack a dull boy
r.bianco
 
Posts: 4962
Joined: 8 November 2010, 16:46

Re: componenti e variabili globali

Postby d.termini » 16 April 2025, 6:32

Non mi sembra, noi usiamo delle variabili globali dentro un componente per definire le "variabili d'ambiente".
Se non ricordo male da qualche parte (componente? variabile di tipo oggetto?) c'è un flag per indicare che è ad istanza condivisa, sicuramente quello fa in modo che se usato da diversi componenti secondari non venga reistanziato, il classico singleton.

E Riccardo mi ha battuto sul tempo :P
d.termini
 
Posts: 1638
Joined: 13 November 2017, 8:41

Re: componenti e variabili globali

Postby zpj61 » 16 April 2025, 7:21

grazie a entrambi, ma "istanza condivisa" cosa implica esattamente? Il dubbio mi era venuto ma avevo inteso come istanza condivisa su più sessioni della stessa app e non all'interno della singola app. La prima ipotesi (condivisa tra app) ovviamente è da scartare...
User avatar
zpj61
 
Posts: 1020
Joined: 20 November 2015, 8:20
Location: Bassano del Grappa

Re: componenti e variabili globali

Postby r.bianco » 16 April 2025, 9:52

Io l'ho sempre intesa nella stessa sessione. Se non lo attivi, ogni componente istanzia la sua. Ricordo di aver visto della documentazione in merito, ma non ricordo dove. Forse nelle note di rilascio.
only work and no play makes jack a dull boy
r.bianco
 
Posts: 4962
Joined: 8 November 2010, 16:46

Re: componenti e variabili globali

Postby d.pierangeli » 17 April 2025, 8:01

"istanza condivisa" significa che la prima volta che devi caricare il componente il sistema carica la dll e fa il merge dei comandi e crea tutto quello che gli serve, poi quando usi una nuova videata del componente non fa nulla.

Se togli il flag la prima videata carica la dll e crea tutto quello che gli serve... la seconda videata se usata da un componente diverso lo fa di nuovo e crea nuove copie dei comandi etc etc... ma soprattutto variabili globali o tabelle IMDB che imposti sulla prima videata sono diverse da quelle che vedi nella seconda.

In generale non c'è alcun motivo per spegnere il flag, la versione "non condivisa" era solo la prima versione dell'architettura dei componenti, rilasciata per validare l'idea.
User avatar
d.pierangeli
Pro Gamma
Pro Gamma
 
Posts: 8092
Joined: 30 September 2010, 15:35

Re: componenti e variabili globali

Postby zpj61 » 17 April 2025, 8:03

in effetti l'istanza condivisa è solo all'interno della stessa sessione.. non avevo trovato questa nota...
https://doc.instantdeveloper.com/?ARTID ... 2A&lang=it
User avatar
zpj61
 
Posts: 1020
Joined: 20 November 2015, 8:20
Location: Bassano del Grappa


Return to Tips & Tricks - Foundation

Who is online

Users browsing this forum: Google [Bot] and 68 guests

cron