Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 16
  1. #1
    Utente bannato
    Registrato dal
    Mar 2002
    Messaggi
    1,811

    portare a nothing una variabile di classe in vb.net

    salve a tutti
    è noto che dichiarando la sequente istruzione
    codice:
    dim ObjClienti as new clsClienti
    se successivamente lo imposto a nothing
    codice:
    ObjClienti = nothing
    non mi occupa + risorse di sistema

    il punto è che in vb.net dichiaro una variabile anche per le form
    (in quanto sono classi)
    quindi se non le impostoa nothing le variabili
    anche esse occupano risorse?
    oppure conclusa la routine c'è la pulitura automatica dellamemoria
    come succede in vb6?

    gra<ie

  2. #2
    Utente di HTML.it
    Registrato dal
    Oct 2002
    Messaggi
    261
    Le variabili in Vb net sono degli oggetti e quindi di conseguenza bisogna distruggerle, alla chiusura della classe viene lanciato il distruttore tramite le collezioni garbage per rimuovere gli oggetti dalla memoria, non nel momento preciso del dispose ma in un secondo momento, quando il programma è inattivo. Si può implementare un metodo Dispose per consentire all'utilizzatore della classe di ripulire la memoria in uso senza dover aspettare l'intervento del distruttore.Per esempio si può creare un'istanza di una classe e salvarla come una variabile membro da usare durante l'esecuzione impostandola a Nothing nell'evento Finalize in modo che vb net possa cancellare l'oggetto immediatamente dalla memoria.Unico accorgimento : per creare un distruttore bisogna specificare Protected e Overrides prima dell'istruzione Sub.

  3. #3
    Utente bannato
    Registrato dal
    Mar 2002
    Messaggi
    1,811
    uddio non son molto pratico
    mi puoi passareesempio di codice?

    di unpo' ma del tipo VariabileFOrm = nothing
    non va bene?

  4. #4
    per fare quello che vuoi tu è

    variabileform.dispose

    per forzare la garbage collection
    Vascello fantasma dei mentecatti nonchè baronetto della scara corona alcolica, piccolo spuccello di pezza dislessico e ubriaco- Colui che ha modificato l'orribile scritta - Gran Evacuatore Mentecatto - Tristo Mietitore Mentecatto chi usa uTonter danneggia anche te

  5. #5
    Utente di HTML.it L'avatar di darkblOOd
    Registrato dal
    Jul 2001
    Messaggi
    2,212
    ma che senso ha creare un oggetto ed impostarlo a nothing subito dopo? Finchè non lo usi è nothing

  6. #6
    Utente di HTML.it
    Registrato dal
    Oct 2002
    Messaggi
    261
    uddio non son molto pratico
    In MSDN trovi degli ottimi esempi, soprattutto nella cartella
    All Vb.Net Samples

  7. #7
    Attenti ragazzi perchè anche se della stessa natura, una variabile e una classe sono due cose ben diverse. La classe contiene variabili e molto altro (codice, eventi...). mentre una classe conviene distruggerla una variabile non si può distruggere in quanto non viene istanziata ma allocata semplicemente (non si fa il set).
    Il dubbio non è piacevole, ma la certezza è ridicola. Solo gli imbecilli son sicuri di ciò che dicono.

  8. #8
    Utente di HTML.it
    Registrato dal
    Oct 2002
    Messaggi
    261
    Perfetto Genius, d'accordo con te, ma come tu ben sai al rilascio della classe le variabili contenute al suo interno vengono automaticamente distrutte anche senza "Disposare" la classe, tanto che per mantenere un riferimento ad una variabile in un classe bisogna dichiararla SHARED, solo così la variabile non viene toccata e mantiene il suo valore.

  9. #9
    la shared che tu enunci credo che sia di vb.net se non sbaglio e serve a rendere comune il valore e a statizzarlo in formato pubblico. ma non so se in una programmazione a oggetti sia lecito fare cio (CIOè MANTENERE UN VALORE DI UNOGGETTO ANCHE DOPO DISTRUTTO) credo che non sia logico almeno per me che programmo a OOP
    Il dubbio non è piacevole, ma la certezza è ridicola. Solo gli imbecilli son sicuri di ciò che dicono.

  10. #10
    Utente di HTML.it
    Registrato dal
    Oct 2002
    Messaggi
    261
    In effetti si tratta di istruzione Vb Net, ma come puoi leggere dal titolo è questa la richiesta (vb net), comunque ti assicuro che usare Shared per una variabile in una classe è una gran cosa, esattamente venerdì mi ha risolto un grosso problema che mi stava assillando
    Ri-ciao...

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.