Autore Topic: Variabili globali  (Letto 1400 volte)

  • Visitatore
Variabili globali
« il: 22 Marzo 2008, 19:32:30 »
Ciao

Ho necessità di usare le stesse variabili all'interno di un Module e all'interno di un form.

ho provato questo sistema :

CLASS1 : le variabili

FORM1 : PUBLIC xxx as new class1
        xxx.nomevariabile  

FORM1 : PUBLIC xxx as new class1
        xxx.nomevariabile        


ma non mi funziona molto bene ....

Voi come fate ???

g.paolo

  • Visitatore
Re: Variabili globali
« Risposta #1 il: 22 Marzo 2008, 20:14:40 »
Creo un modulo di avvio chiamato "avvio" in cui dichiaro le variabili PUBLIC e poi le richiamo in qualsiasi punto del programma con il costrutto "avvio.variabile".
Ovviamente con il modulo di avvio poi apro il form iniziale ed eseguo operazioni preliminari eventualmente richieste.
E funziona perfettamente

g.paolo

  • Visitatore
Re: Variabili globali
« Risposta #2 il: 22 Marzo 2008, 20:40:50 »
A proposito: se guardi il topic "progetto in prova" che contiene il mio allegato e quello correttomi da md9327 avrai un esempio pratico di cosa intendo.

Offline leo72

  • Amministratore
  • Senatore Gambero
  • *****
  • Post: 2.163
    • Mostra profilo
    • http://www.leonardomiliani.com
Re: Variabili globali
« Risposta #3 il: 22 Marzo 2008, 21:17:08 »
Non è necessario che il modulo sia quello di avvio.
Puoi dichiarare le variabili come PUBLIC in un qualunque modulo.
Visita il mio sito personale: http://www.leonardomiliani.com

  • Visitatore
Re: Variabili globali
« Risposta #4 il: 22 Marzo 2008, 22:19:17 »
Perfetto capito benissimo grazie .... ero comunque sulla strada giusta, solo che probabilmente facendo  "AS NEW module" settavo le variabili a null
 Grazie

Offline md9327

  • Moderatore
  • Senatore Gambero
  • *****
  • Post: 2.840
    • Mostra profilo
Re: Variabili globali
« Risposta #5 il: 23 Marzo 2008, 16:34:54 »
Se vuoi che una variabile pubblica non venga azzerata, anche se appartenente ad una classe, devi anteporre la parolina STATIC.
In questo caso, la variabile viene impostata alla prima chiamata, e rimane valida fino al termine del programma.
Una ipotesi è quella di una generazione di un ID progressivo per la stessa classe; ogni volta che crei una nuova classe dello stesso tipo, puoi incrementare l'ID, che rimane incrementato fino alla chiusura dell'applicazione. Se crei un'altra classe dello stesso tipo, ti trovi il numero incrementato, lo incrementi nuovamente, e via così.

Spero di essere stato chiaro, io non mi sono capito... :-)