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

    [VB6] Combo che "spariscono"

    Vi è mai successo che misteriosamente delle combo non vi vengano visualizzate?

    Cercherò di spiegarvi nel dettaglio il mio problema...

    Io ho una serie di array di combo che vengono abilitate (e popolate) e disabilitate (e spopolate) da un checkBox, in una sub del tipo:

    codice:
    Private sub chkA_click()
    
    dim i as integer
    
      if chkA = 1 then
         for i = 0 to comboUno.ubound
           comboUno.enabled = true
           popolaCombo
         next i 
      else
         for i = 0 to comboUno.ubound
           comboUno.enabled = false
           comboUno.clear
         next i 
      end if
    
    end sub
    ______________________________
    
    private sub popolaCombo()
    
    dim rs as adodb.recordset
    dim i as integer
    
        set rs = new adodb.recordset
        set rs = connessione.execute("Select descr from table")
        
        if not rs.eof and not rs.bof then
           
           for i = 0 to comboUno.ubound
               rs.movefirst
               while not rs.eof
                  comboUno(i).addItem (rs!descr)
                  rs.moveNext
               wend
           next i 
        next i  
      
        rs.close
    
    end sub
    I dati selezionati in queste combo vengono poi usati per eseguire delle query (database MySQL) per ricercare i valori che verranni effettivamente salvati in delle variabili globali (array di stringhe).
    (queste variabili vengono anch'esse cancellate nel caso si "dechekki" il checkBox che le attiva)

    codice:
    Private sub comboUno_change(i as integer)
       
       dim rs as adodb.recordset
    
       set rs = new adodb.recordset
       set rs = connessione.Execute("select codice from table where campo = ' & comUno(i).text & "'")
       
       if not rs.EOF or not rs.BOF then
          rs.MoveFirst
          uno(i) = rs!codice
       end if
    
       rs.close
    
    end sub
    Se scarico il form e poi lo ricarco mi verranno visualizzati i dati che ho inserito in precedenza

    codice:
    Private sub caricaPrecedentiComboUno()
       
       dim i as integer   
       dim rs as adodb.recordset
       
       for i = 0 to comboUno.ubound
    
          set rs = new adodb.recordset
          set rs = connessione.Execute("select descr from table where codice = ' & uno(i) & "'")
       
          if not rs.EOF or not rs.BOF then
             rs.MoveFirst
             comboUno(i).text = rs!descr
          end if
    
          rs.close
        
        next i
    
    end sub
    Il problema è che a questo punto le combo spariscono!!!
    (in realtà se clikko dove dovrebbero essere riappaiono, ma senza bordi...)

    Qualcuno mi sa spiegare il perché?

    Grazie a tutti e buon lavoro!!!
    Secondo alcuni autorevoli testi di tecnica di aeronautica, il calabrone non può volare, a causa della forma e del peso del proprio corpo in rapporto alla superficie alare.
    Ma il calabrone non lo sa e perciò continua a volare. (Igor Sikorsky)

    Chi beve solo acqua ha un segreto da nascondere (Charles Baudelaire)

  2. #2
    Forse nella Form_load imposti visible = false e perciò ti spariscono? Prova a fare il Debug e vedi se riesci a capire qlc in più.
    CIAO

  3. #3
    Se faccio l'esecuzione passo passo le combo non spariscono...
    Secondo alcuni autorevoli testi di tecnica di aeronautica, il calabrone non può volare, a causa della forma e del peso del proprio corpo in rapporto alla superficie alare.
    Ma il calabrone non lo sa e perciò continua a volare. (Igor Sikorsky)

    Chi beve solo acqua ha un segreto da nascondere (Charles Baudelaire)

  4. #4
    Misteri dell'informatica?!?!? Non so che dirti :master:
    Ps. qui c'è un errore:
    codice:
    set rs = connessione.Execute("select descr from table where codice = ' & uno(i) & "'")
    dovrebbe essere :
    codice:
    set rs = connessione.Execute("select descr from table where codice =" & " ' " & uno(i) & "'")
    CIAO

  5. #5
    A livello di tentativo potresti inserire una Me.Refresh alla fine della probabile routine che causa la sparizione dei combo.

    Ciao

  6. #6
    Ok, le combo non speriscono più, ora si genera un altro errore, ma penso di sapere come coreggerlo...

    Grazie mille!!!!!!!
    Secondo alcuni autorevoli testi di tecnica di aeronautica, il calabrone non può volare, a causa della forma e del peso del proprio corpo in rapporto alla superficie alare.
    Ma il calabrone non lo sa e perciò continua a volare. (Igor Sikorsky)

    Chi beve solo acqua ha un segreto da nascondere (Charles Baudelaire)

  7. #7
    No, era una finta: le combo spariscono ancora...
    aiuuuuuutoooooo.....
    Secondo alcuni autorevoli testi di tecnica di aeronautica, il calabrone non può volare, a causa della forma e del peso del proprio corpo in rapporto alla superficie alare.
    Ma il calabrone non lo sa e perciò continua a volare. (Igor Sikorsky)

    Chi beve solo acqua ha un segreto da nascondere (Charles Baudelaire)

  8. #8
    prova ad impostare alla fine della routine dove rendi le combo visibili:

    codice:
    combo.ZOrder 0
    è l'istruzione per mandare in primo piano un oggetto
    prude il dito, lui sdraiato
    ha giocato a guardie e ladri col ladro sbagliato

  9. #9
    In realtà sul mio PC stanno avvenendo delle magie...
    Il numero di combo che non si visualizza varia di volta in volta, anche senza variare una sola riga di codice!
    Attualmente (da circa mezz'ora) è una sola la combo 'misteriosa' che ha un codice assolutamente uguale a tutte le altre (legge semplicemente da un diverso recordset e salva su una diversa variable)

    Provo con .Zorder e vi faccio sapere...
    Secondo alcuni autorevoli testi di tecnica di aeronautica, il calabrone non può volare, a causa della forma e del peso del proprio corpo in rapporto alla superficie alare.
    Ma il calabrone non lo sa e perciò continua a volare. (Igor Sikorsky)

    Chi beve solo acqua ha un segreto da nascondere (Charles Baudelaire)

  10. #10
    Continua a sparire. Però se apro una qualsiasi finestra di un qualsiasi programma e poi la riduco ad icona la combo compare.

    Se vi viene in mente qualcosa, io vado ad armarmi di aglio e cornetti...
    Secondo alcuni autorevoli testi di tecnica di aeronautica, il calabrone non può volare, a causa della forma e del peso del proprio corpo in rapporto alla superficie alare.
    Ma il calabrone non lo sa e perciò continua a volare. (Igor Sikorsky)

    Chi beve solo acqua ha un segreto da nascondere (Charles Baudelaire)

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 © 2024 vBulletin Solutions, Inc. All rights reserved.