Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
Visual Basic 6 - Chiudere completamente un programma
Forum - Visual Basic 6 - Chiudere completamente un programma

Avatar
Cronos (Normal User)
Pro


Messaggi: 105
Iscritto: 07/09/2009

Segnala al moderatore
Postato alle 18:27
Giovedì, 07/01/2010
Visto che ho sempre fatto programmi con un solo form non ho mai avuto il pensiero di come chiudere completamente un applicazione. In questa settimana, dopo aver finito un giochino con tre form (forme iniziale, gioco, guida) mi sono accorto che il comando End non chiude tutta l'applicazione completamente e se si prova a gurdre nell'elenco delle applicazioni attive con task manager si può vedere il programma ancora attivo. come fare quindi per chiudere tutto definitivamente?
Come al solito non occorre (se c è) il codice completo ma solo "una spinta"
grazie =)

PM Quote
Avatar
nessuno (Normal User)
Guru^2


Messaggi: 6380
Iscritto: 03/01/2010

Segnala al moderatore
Postato alle 18:33
Giovedì, 07/01/2010
Non devi usare l'End.

Devi usare la

Unload Me

per tutte le form che chiudi.


Ricorda che nessuno è obbligato a risponderti e che nessuno è perfetto ...
---
Il grande studioso italiano Bruno de Finetti (uno dei padri fondatori del moderno Calcolo delle probabilità) chiamava il gioco del Lotto Tassa sulla stupidità.
PM Quote
Avatar
Cronos (Normal User)
Pro


Messaggi: 105
Iscritto: 07/09/2009

Segnala al moderatore
Postato alle 19:10
Giovedì, 07/01/2010
Grazie! Su tutti i manuali usavano end , ma unload è decisamente migliore, funziona a meraviglia.
grazie ancora :k::k::k::k:

PM Quote
Avatar
nessuno (Normal User)
Guru^2


Messaggi: 6380
Iscritto: 03/01/2010

Segnala al moderatore
Postato alle 19:12
Giovedì, 07/01/2010
Butta tutti i manuali che usano l'End.


Ricorda che nessuno è obbligato a risponderti e che nessuno è perfetto ...
---
Il grande studioso italiano Bruno de Finetti (uno dei padri fondatori del moderno Calcolo delle probabilità) chiamava il gioco del Lotto Tassa sulla stupidità.
PM Quote
Avatar
fabriziorocca (Normal User)
Guru


Messaggi: 1162
Iscritto: 22/03/2009

Segnala al moderatore
Postato alle 16:52
Venerdì, 08/01/2010
e utilizza unload me

PM Quote
Avatar
Cronos (Normal User)
Pro


Messaggi: 105
Iscritto: 07/09/2009

Segnala al moderatore
Postato alle 12:22
Sabato, 09/01/2010
Di una cosa mi sono però accorto; se si chiude il programma con la X in alto a destra si esegue un operazione end, non unload: insomma l'applicazione non si chiude del tutto. C'è un modo per applicare unload alla X? (ho notato che questo avviene anche in altri prog che ho preso dal sito e non solo a me)

PM Quote
Avatar
fabriziorocca (Normal User)
Guru


Messaggi: 1162
Iscritto: 22/03/2009

Segnala al moderatore
Postato alle 13:20
Sabato, 09/01/2010
Hai inviato 2 volte lo stesso messaggio, comunque, spaicente ma io so farlo solo in vb.net

PM Quote
Avatar
nessuno (Normal User)
Guru^2


Messaggi: 6380
Iscritto: 03/01/2010

Segnala al moderatore
Postato alle 13:26
Sabato, 09/01/2010
Testo quotato

Postato originariamente da Cronos:

Di una cosa mi sono però accorto; se si chiude il programma con la X in alto a destra si esegue un operazione end, non unload:



Questo non è vero ... viene eseguita una unload ... quale End dovrebbe eseguire se non c'e' nel codice?

Se il form non viene completamente scaricato, si deve vedere il codice per capire se ci sono altri elementi creati e non distrutti.


Ricorda che nessuno è obbligato a risponderti e che nessuno è perfetto ...
---
Il grande studioso italiano Bruno de Finetti (uno dei padri fondatori del moderno Calcolo delle probabilità) chiamava il gioco del Lotto Tassa sulla stupidità.
PM Quote
Avatar
Alfonso (Ex-Member)
Guru


Messaggi: 688
Iscritto: 30/09/2009

Segnala al moderatore
Postato alle 14:24
Sabato, 09/01/2010
Nella form principale (per es. frmMain) metti
Codice sorgente - presumibilmente VB.NET

  1. Private Sub Form_Unload(Cancel As Integer)
  2.  
  3.     Dim i As Integer
  4.     While Forms.Count > 1
  5.        i = Forms.Count - 1
  6.         Unload Forms(i)
  7.     Wend
  8.     Set frmMain = Nothing
  9.  
  10. End Sub


E se vuoi esagerare in ogni form che hai:
Codice sorgente - presumibilmente VB.NET

  1. Private Sub Form_Unload(Cancel As Integer)
  2.  
  3.     Set NomeDelForm = Nothing
  4.  
  5. End Sub



PM Quote