Autore Topic: Dubbio su "Creazione oggetti"  (Letto 226 volte)

Offline kicco

  • Senatore Gambero
  • ******
  • Post: 1.728
  • So dove andare, seguitemi, ci perderemo insieme!
    • Mostra profilo
Dubbio su "Creazione oggetti"
« il: 19 Giugno 2016, 18:20:15 »
Sto guardando nel wiki
http://www.gambas-it.org/wiki/index.php?title=Gli_Oggetti_e_le_Classi
in particolare questa parte
Codice: [Seleziona]
'Esempio 2: referenziazione di una classe dinamica
 DIM hWin2 AS Window
 hWin2 = hWin
e la relativa nota
Citazione
b) Nell'esempio 2 viene definita una variabile di tipo Window, che viene poi associata all'oggetto precedente hWin; in questo caso non viene creato un nuovo oggetto, ma solo un riferimento a quello già esistente. In questo caso, l'eliminazione della variabile hWin2 non distruggerà l'oggetto hWin, ma toglierà solo il suo riferimento; in ogni caso la variabile precedente hWin, ovvero il vero riferimento all'oggetto, manterrà sempre l'oggetto in memoria. L'eliminazione dell'oggetto dovrà essere eseguita agendo sul proprio metodo ".Delete()" (se presente), o eliminando la stessa variabile hWin. E' da notare che, se viene cancellata la variabile originale hWin, e viene mantenuta hWin2, l'oggetto resta comunque in memoria, dato che esiste comunque un suo riferimento valido. Questo giochetto può essere molto utile in alcuni casi, ma è necessario fare molta attenzione a non lasciare appesi riferimenti inutili.
dubbio:
non dovrebbe essere?
Codice: [Seleziona]
'Esempio 2: referenziazione di una classe dinamica
 DIM hWin AS Window
 hWin2 = hWin
nella seconda riga dichiaro che hWin2 sarà uguale alla variabile hWin che ho dichiarato sopra.
C'è un errore nel wiki o nella mia zucca? :)
 :ciao:
Chi ha paura muore ogni giorno, chi non ha paura muore una volta sola. (Paolo Borsellino)

Offline Gianluigi

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 4.244
  • Tonno verde
    • Mostra profilo
Re:Dubbio su "Creazione oggetti"
« Risposta #1 il: 19 Giugno 2016, 19:26:52 »
No, è corretta la wiki.
Viene spiegato prima con l'esempio 1 che crea  e istanzia (new) hwin quindi è così:
Codice: [Seleziona]
Dim hwin As New Window
Dim hwin2 As Window = hwin

Zucca? Chi ha parlato di zucca?  ;D

 :ciao: :ciao:
nuoto in attesa del bacio di una principessa che mi trasformi in un gambero azzurro

Offline kicco

  • Senatore Gambero
  • ******
  • Post: 1.728
  • So dove andare, seguitemi, ci perderemo insieme!
    • Mostra profilo
Re:Dubbio su "Creazione oggetti"
« Risposta #2 il: 19 Giugno 2016, 19:42:49 »
 :ciao:
grazie Gianluigi.
Così come è scritto sembra che i 3 esempi siano isolati uno dall'altro.
Invece ...

Zucca -> empty ;D
Chi ha paura muore ogni giorno, chi non ha paura muore una volta sola. (Paolo Borsellino)