Newsgroup: it.comp.lang.visual-basic
Titolo: VARIABILI DICHIARATE COME PUBLIC O GLOBAL

terra, terra...
che differenza c'è nel dichiarare in un modulo una variabile come
PUBLIC o come GLOBAL ?
idem nel dichiarare una function o una sub?
grazie e ciao a tutti

 wrote in message
news:3bbc20fb...@news.tin.it...

Mmm... Ma leggere i messaggi degli ultimi dieci giorni no?
Ciaotutti,
*



Dieci giorni????? Ma ti rendi conto di quanti sono?????
Bastano quelli di ieri.
 ;)
Ciao,
Moreno
#sirri#@#
morenosoft.com#
(togliete "#" dall'indirizzo)
Moreno Sirri VB Site - 
http://www.msvbsite.net
---------------------------------------------------------------------------
Le risposte alle tue domande le trovi sul Sito Comune di questo NewsGroup:
 
http://www.it-lang-vb.net
---------------------------------------------------------------------------

 ha scritto nel messaggio
news:3bbc20fb...@news.tin.it...


 ha scritto nel messaggio
news:3bbc20fb...@news.tin.it...


Scusa ma la differenza c'e' !!!
Una variabile di tipo Public definita ad esempio all'interno di una Form
consente di essere raggiunta da altri punto dell'applicazione referenziando
NomeForm.NomeVariabile. Nel momento in cui distruggi il form cessa di
esistere anche la variabile.
Una variabile di tipo Global e comune a tutta l'applicazione e sarà
accessibile semplicamente referenziando NomeVariabile.
Esistono una serie di situazioni in cui ha senso definire una variabile di
tipo global e/o una di tipo public e a seconda delle scelte che vengono
fatte, cambiano parecchi fattori fra cui, ad esempio, le allocazioni e i
rilasci della memoria.
Ad esempio non ha molto senso definire una variabile di tipo Public in un
modulo e allo stesso modo non ha senso definire una variabile di tipo Global
in una classe.
Spero di esserti stato d'aiuto, se vuoi ulteriori approfondimenti resto a
disposizione.
Ciao
Gianluca


 assolutamente equivalente
[SNIP]
I messaggi successivi sono il resto del thread, ordinati per receive date
(prima i messaggi piu' recenti)...
Mah...
Ciaotutti,
*

 ha scritto nel
messaggio news:9pha8r$i4teb$1...@ID-59069.news.dfncis.de...
cut
Allora avevo ragione a fare una domanda in apparenza stupida...posta la
compatibilità solo per vb3 etc etc..posto tutto quello che volete..riformulo
la domanda che facevo...
per il compilatore del vb esiste una qualche sottile differenza tra global e
public ..quale allocazione consente codice + efficiiiiente e/o
veloce?....dormo anche se non lo so..è giusto per disquisire sul sesso degli
angeli...
saluti a tutti!
:-)


Una variabile di tipo Global non puo' essere definita altro che in un modulo
e sarà accessibile semplicamente referenziando NomeVariabile, esattamente
come una variabile Public definita in un modulo.
Infatti
Q115512
The Public statement in Visual Basic, Applications Edition, performs the
same action as the Global statement in Visual Basic version 3.0. The name
Public is more intuitive when thought of in context with its counterpart,
Private. When you use the Private statement to declare a variable as
private, the variable is available only to the module in which it is
declared.
The Global statement is supported for compatibility in Visual Basic,
Applications Edition; however, Public is preferred.
-------------------------------------------
E anche
Scope and Lifetime of Variables
Variables Used by All Modules
To make a module-level variable available to other modules, use the Public
keyword to declare the variable. (The Public statement has replaced the
Global statement used for declaring variables in Microsoft Access version
2.0.) The values in public variables are available to all procedures in all
modules in your application. Like all module-level variables, public
variables are declared in the Declarations section at the top of the module,
as shown in the following example:
--------------------------------------------
Ciaotutti,
*

Tutto quanto scritto č valido se stiamo parlando di moduli, ma se parliamo
di form o classi, il comportamento di una variabile public o global č
diverso.
Ciao
Gianluca

 in una classe.
Anche perchè non puoi :PP vedi limitazioni di cui sopra :)
Ciao

 diverso.
Daje... NON puoi dichiarare una variabile global in un form!
Global e' supportato solo per retrocompatibilita', public e' l'unica keyword
che andrebbe usata e significa globale in un modulo (in effetti pubblica del
modulo, ma poiche' ogni componente pubblica del  modulo e' globale
all'intera applicazione la variabile e' a sua volta globale) e pubblica
all'interno di un form (che essenso un oggetto non ha le stesse regole di
scope).
Ciaotutti,
*

 
Scusa ma stai facendo confusione.
In un modulo standard Public e Global sono perfettamente equivalenti,
entrambe dichiarano una variabile pubblica.
In un form/modulo di classe Public dichiara una proprietà pubblica,
che è una cosa ben diversa da una variabile pubblica.
In un form/modulo di classe non è possibile dichiarare variabili
pubbliche, infatti se provi a dichiarare qualcosa con Global di
da un bell'errore di compilazione.
-- 
Samuele Battarra
prova il mio newsreader:
http://digilander.iol.it/battarsa/programmi/news/