Il CallingForm in esame è un riferimento.Originariamente inviato da ghini76
In sostanza... CallingForm è solo un "collegamento" o contiene tutti i dati relativi delle variabili, dei componenti e dei controlli?
Gli oggetti vengono creati all'interno dell'heap, un'area appositamente dedicata ad ospitare tutti i dati degli oggetti creati; ciascuna "variabile oggetto" contiene un riferimento che consente di risalire all'oggetto con i suoi dati; copiando un riferimento da una variabile ad un'altra, si sposta solamente il riferimento, appunto, e non viene creata una copia dell'oggetto.
In un libro ho letto un esempio calzante che spiegava il concetto usando come analogia il televisore e il telecomando: quando vuoi cambiare canale, usi il telecomando; se vuoi spostarti nella stanza, per cambiare canale ti basta il telecomando, non devi girare con il televisore tra le braccia (alquanto pesante e scomodo, no?).
La variabile pubblica CallingForm nel nostro esempio è un telecomando in più; occupa pochissime risorse e permette di riferirsi semplicemente ad un oggetto, senza fare copie dell'oggetto in questione.
Se vuoi fare una prova tecnica, crea una form e copia il riferimento in una variabile e, da questa, ad un'altra variabile e imposta una proprietà del form usando una di queste...vedrai che leggendo la proprietà utilizzando l'altra variabile si otterrà il valore modificato, poichè sono entrambe riferimenti allo stesso oggetto creato.
Ciao!![]()