Visualizzazione dei risultati da 1 a 8 su 8
  1. #1

    [VB6] chiudere il programma

    ciao!
    ho un problema... se chiudo la mia form dalla x in alto a destra, il mio programma si chiude, ma rimane come task sul task manager... cosa posso fare??
    ora faccio così:
    codice:
    Private Sub Form_Unload(Cancel As Integer)
      'chiudo la form
      End
    End Sub
    ...l'importante è non cadere dal palco...
    www.sisimizi.com

    : ghiboz : | ° nani ° | : gBlog :

  2. #2
    Utente di HTML.it L'avatar di LMondi
    Registrato dal
    Sep 2004
    Messaggi
    1,291
    Ciao ghiboz,
    anche se non dici se il tuo prog. fa uso di DB, probabilmente questo inconveniente avviene quando non sono state chiuse le connessioni con il DB ed azzerati i RS.
    LM

  3. #3
    no, non fa connessioni...
    ma il problema è che ho tolto l'end, perchè la form può anche essere chiusa per passare ad un'altra...
    ...l'importante è non cadere dal palco...
    www.sisimizi.com

    : ghiboz : | ° nani ° | : gBlog :

  4. #4
    Utente di HTML.it L'avatar di LMondi
    Registrato dal
    Sep 2004
    Messaggi
    1,291
    Per quanto ne sappia non è bene utilizzare End quando vi sono più Frm;
    quindi prima di uscire dal prog. devi chiudere ed annullare tutte le Frm del prog, tipo, se il prog è costituito da 3 Frm ed una MDIFrm:

    Unload FrmInfo
    Set FrmInfo = Nothing

    Unload FrmLista
    Set FrmLista = Nothing

    Unload FrmTar
    Set FrmTar = Nothing

    MDIFrm.WindowState = vbMinimized
    Unload MDIFrm
    Set MDIFrm = Nothing
    LM

  5. #5
    Concordo con LMondi: se il programma è formato da più form, occorre fare l'Unload di tutte, altrimenti "graficamente" (per intenderci) il programma è chiuso (non vedi niente) ma informaticamente no..
    Puoi anche usare un ciclo for-each per controllare tutte le form caricate..

    ciao

  6. #6
    Utente di HTML.it L'avatar di LMondi
    Registrato dal
    Sep 2004
    Messaggi
    1,291
    Ciao ghiboz, tanto per concludere il discorso, se vuoi puoi utilizzare il sottoriportato ciclo che controlla se i files sono salvati e chiude il prog.:
    codice:
    Sub Verifica()
    
            Dim yForm As Form
            Dim strFrmAtt As String
                    
            ' Verifica che i file siano stati salvati e chiude le
            ' Frm Attive - Modulo ConfSalva:
            For Each yForm In Forms
                strFrmAtt = yForm.Name
                Select Case strFrmAtt
                    Case "FrmAnagClienti"
                        If blVerifica1 = False Then
                            ' Chiama Salva nell'apposito Modulo:
                            Call ConfermaSalva
                            Else
                            FrmAnagCliente.WindowState = vbMinimized
                            Unload FrmAnagCliente
                            Set FrmAnagCliente = Nothing
                        End If
                    'Case ....
                End Select
            Next yForm
        FrmMAIN.WindowState = vbMinimized
        Unload FrmMAIN
        Set FrmMAIN = Nothing
    End Sub
    LM

  7. #7
    Ciao Ghiboz.

    Non è conveniente utilizzare "End" per vari motivi. Uno di questo è che "End" forza certe situazioni.

    Come ti è stato giustamente suggerito dagli altri amici prova ad utilizzare un codice simile a questo:

    Nella sezione Dichiarazioni:

    codice:
    Dim aForm as Form
    poi nel form principale:

    codice:
    Private Sub TuoForm_Unload(Cancel As Integer) ' Scaricamento dei form
       For Each aForm In Forms
          Unload aForm
       Next
    End Sub
    Giulio C. - Roma

  8. #8
    grazie a tutti!
    ...l'importante è non cadere dal palco...
    www.sisimizi.com

    : ghiboz : | ° nani ° | : gBlog :

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.