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

    [VB6] controllare se tutti i form sono chiusi

    Buongiorno a tutti!
    Ho un quesito:
    Io apro lo stesso form diverse volte in tempi diversi nel seguente modo:

    Dim fpop(1 To 100) As Form

    n = n + 1
    Set fpop(n) = New Form1
    fpop(n).Show vbModeless
    fpop(fpopn).Show vbModeless


    Come faccio a verificare se tutti i form facenti parte dell'array fpop(n) sono chiusi o meno??

    Vi ringrazio per l'aiuto
    Claudio

    Ciò che il bruco chiama fine del mondo, il resto del mondo chiama farfalla
    (Proverbio Cinese) :gren:

  2. #2
    Utente di HTML.it L'avatar di gibra
    Registrato dal
    Apr 2008
    residenza
    Italy
    Messaggi
    4,244
    Dovrebbe essere così, ma ho scritto al volo quindi occhio agli errori.

    codice:
        For Each frm In Forms
            If TypeOf frm Is Form1 Then
                Unload frm
            End If
        Next
    Ciao

  3. #3
    Ciao Gibra!
    Grazie x l'aiuto!

    io ho usato il codice nel seguente modo:

    For Each frm In Forms
    If TypeOf frm Is Form1 Then
    nfrm = nfrm + 1
    End If
    Next
    MsgBox (nfrm)

    lo uso per contare quanti form di quel tipo sono aperti ma mi restituisce numeri sballati...
    sbaglio in qualcosa?

    Grazie
    Claudio

    Ciò che il bruco chiama fine del mondo, il resto del mondo chiama farfalla
    (Proverbio Cinese) :gren:

  4. #4
    Utente di HTML.it L'avatar di gibra
    Registrato dal
    Apr 2008
    residenza
    Italy
    Messaggi
    4,244
    Prova a dichiarare

    Dim fpop(1 To 100) As Form1

    perchè Form è generico.
    In effetti tu dichiari As Form , ma poi crei l'istanza con
    Set fpop(n) = New Form1

    Ciao

  5. #5
    Il risultato non cambia.. impazzirò!!
    Claudio

    Ciò che il bruco chiama fine del mondo, il resto del mondo chiama farfalla
    (Proverbio Cinese) :gren:

  6. #6
    Utente di HTML.it L'avatar di gibra
    Registrato dal
    Apr 2008
    residenza
    Italy
    Messaggi
    4,244
    Originariamente inviato da gendarme
    Il risultato non cambia.. impazzirò!!
    Prima che tu impazzisca :quote:

    codice:
    Dim fpop(1 To 100) As Form1
    
        Dim frm As Form
        Dim nFrm As Integer
        For Each frm In Forms
            If TypeOf frm Is Form1 Then
                nFrm = nFrm + 1
            End If
        Next
        MsgBox (nFrm)
    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.