|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
Iscritto dal: Jul 2001
Messaggi: 367
|
Variabili
Ciao.
Una domanda al quanto curiosa da sottoporvi relativa alle variabili: Praticamente un un Form VB6 nella sezione DICHIARAZIONE imposto una variabile "Dim Prova As Double", Successivamente sempre nella stessa pagina la richiamo in diversi punti quando mi serve, fin quì OK! credo però che sia giusto che quando alla fine chiudo il form faccio rilasciare le risorse con "Set Prova = Nothing", inserito nell'evento UNLOAD del Form. Bhe! mi da un errore di "NECESSARIO OGETTO" proprio su questa riga. Se invece dichiaro la variabile "Dim Prova As Double" all'interno delle routine che ne faccio uso non mi da nessun errore. Allora mi sono chiesta: se dichiaro questa variabile "Dim Prova As Double" non dovrebbe essere disponibile per tutto il form nella quale l'avevo dichiarata? senza ripeterla sempre? Oppure dichiarare variabile nelle dichiarazioni del form non serve a nulla ma devono essere dichiarati a livello di routine da dove vengongo poi effettivamente utilizzati? Oppure ancora una volta chiuso il form le variabili vengo rilasciate automaticamente? Spero che qualcuno mi possa un pò illuminare un pò più su come esattamente lavorano le variabili. Carmen |
|
|
|
|
|
#2 |
|
Member
Iscritto dal: Jan 2001
Città: PATAVIUM
Messaggi: 280
|
le variabili vengono rilasciate da sole
al momento del unload la variabile è già stata distrutta
__________________
Salva il Pianeta |
|
|
|
|
|
#3 |
|
Senior Member
Iscritto dal: Jul 1999
Città: Torino
Messaggi: 2221
|
Infatti...Al momento dell richiamo di UNLOAD la variabile è già stata distrutta... prova a mettere l'istruzione nell'evento CLOSING della form (esiste in WB?
|
|
|
|
|
|
#4 |
|
Senior Member
Iscritto dal: Feb 2001
Città: Nordest
Messaggi: 217
|
Set Prova = Nothing
si applica solo alle variabili di tipo oggetto, non ai tipi standard |
|
|
|
|
|
#5 |
|
Senior Member
Iscritto dal: Jul 2001
Messaggi: 367
|
Grazie! Non vi arrabiate
Potreste illumunarmi un tantino di più su questo passaggio. si applica solo alle variabili di tipo oggetto, non ai tipi standard Comunque in pratica se o ben "recepito" le variabili vanno distrutte quando si utilizzano ad esempio in un modulo *.BAS?? |
|
|
|
|
|
#6 |
|
Senior Member
Iscritto dal: Jul 1999
Città: Torino
Messaggi: 2221
|
Ti parlo di JAVA ma immagino che in VB sia la stessa cosa...un oggetto è un'istanza di una classe (ma VB implementa l'ereditarietà??). In parole più semplici è una "variabile" complessa, difinita da te o propria del linguaggio, e non uno dei tipi Standard (es int, Float, char...).
Quando tu dichiari Dim Prova As Double "dici" di riservare una zona di memoria correttamente dimensionata atta a contenere un tipo Double (mi pare 64 bit, 8 byte). Prova (fra l'altro è bene tenere conto della regola "non scritta" di utilizzare la maiuscola iniziale per le classi e le minuscole per variabili) è il puntatore a questa zona di memoria. Set Prova = Nothing in pratica dice al puntatore di non puntare a nessuna zona di memoria, perdendo il riferimento alla zona che conteneva il Double. In JAVA si può fare per tutte le variabili e gli oggetti, la sintassi sarebbe prova=null; |
|
|
|
|
|
#7 |
|
Senior Member
Iscritto dal: Jul 2001
Messaggi: 367
|
capito... se così è stato scritto. Così sia
|
|
|
|
|
|
#8 |
|
Senior Member
Iscritto dal: Jul 1999
Città: Torino
Messaggi: 2221
|
amen
|
|
|
|
|
|
#9 |
|
Member
Iscritto dal: Feb 2001
Città: Reggio Emilia
Messaggi: 230
|
GUARDA LA GUIDA DI VISUAL BASIC
ISTRUZIONE SET ISTRUZIONE DIM E' MOLTO CHIARA |
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 15:40.



















