Newsgroup: it.comp.lang.visual-basic
Titolo: limiti listbox

buona sera a tutto il n.g.,
vi espongo un mio dubbio nella speranza che qualcuno di buon cuore mi voglia 
illuminare. Ho realizzato in una userform di vba una procedura che trova 
tutti i file in una determinata cartella. Il problema č che circa al 90000 
file mi si crea un errore generico sulla riga:
dim i
for i = 0 to 3000000
     [cut]
     additem i + 1 (errore per i > 90000 o giu di li)
     [cut]
next i
...e si blocca il tutto in quanto intercetto l'errore ed esco dalla routine.
1) Che voi sappiate quali sono i limiti di capienza della listbox!?
2) Come posso ovviare all'errore
PS: la listbox in vba possiede piů colonne (nel mio caso 5) tutte 
utilizzate.
Salutoni, da ciccio 

 2) Come posso ovviare all'errore
prima occorre definire l'errore, poi se ne parla
-- 
ciao, hal

 una volta era il max di un Integer, forse con vb6 e` arrivato al Long.
sono mica sicuro:
Option Explicit
Private Sub Command1_Click()
    On Error GoTo errman
    List1.Clear
    Dim j As Long
    For j = 0 To Val(Text1)
        List1.AddItem Format(j, "###,###,###") & " abcdefghijklmnorstuvwxyz"
        If j Mod 1000 = 0 Then
            List1.Selected(j) = True
            DoEvents
        End If
    Next
    Exit Sub
errman: MsgBox Format(j, "###,###,###")
End Sub
ciao, a.

 in ogni caso, per una buona usabilita` 50 sono gia` troppi
[cut] ...scusami ma il long non va da -2,147,483,648 al 2,147,483,647 !?
50 righe dici, ti dirņ io non ho problemi ad utilizzare il controllo con i 
90000 visualizzati. Cmq domani mi annoto il numero di errore e te lo posto
Ciao da ciccio 

 End Sub
[cut]
...grazie proverň il tutto e ti faccio sapere! 

>
[cut] ....l'errore di cui sopra è il nr. -
2147467259
 (80004005)
che a me non dice niente, ma se tu riesci a capirci qualcosa....!
Ciao da ciccio 


credo che il senso dell'asserzione di hal sia:
non usare una listbox se hai più di 50 elementi perché la necessità di
scorrere e leggere tra migliaia di elementi comporta uno sforzo (per
l'utilizzatore) molto grande
...e concordo appieno
hola
-> GbC|
www.gbcweb.com

 ...e concordo appieno
[cut]
...ok ho capito il senso, ma per motivi statistici non ne posso fare a meno. 
Ovvero uso questa funzione per calcolare il numero di files presenti in una 
determinata cartella e sottocartelle, inoltre devo per forza visualizzarli 
su una listbox e fare anche una scansione dei risultati (oltre che aprire 
uno ad uno i file per verificare deteminate risultanze) una cosa piuttosto 
complessa che nn ti staro' a spiegare per nn tediarti. Comunque le 
operazioni sopra descritte sono da fare una tantum e quindi non mi faccio 
problemi di tempo. Piuttosto, che tu sappia, utilizzando il ctrl listview 
avrei prestazioni migliori !?
ciao da ciccio 


Ma per accedere a files e cartelle non è più efficente il FSO?
Sulle prestazioni non saprei proprio...
In un programma che ho fatto una lvw riesce senza troppi patemi d'animo a
caricare 150.000 records (il tracciato record è anche lunghetto; se l'utente
clicca su 'tutti' mostra proprio 'tutti' i record, fatti suoi)... Ci mette
una 15na di sec per caricarli e circa 25/30 sec per visualizzarli su un P4
2.6 (prescott) con 1 gb di ram e dischi rapidi; il db è access.
Teoricamente direi che una listbox (più semplice) dovrebbe essere più rapida
di una listview (più complessa quindi rallentata da elaborazioni necessarie
alla visualizzazione), ma suppongo sia convolta anche la 'qualità' del
codice.
Boh...
Credo non rimanga che fare delle prove.
-> GbC|
www.gbcweb.com

 Ciao da ciccio
http://tinyurl.com/9s9wj
l'errore 80004005 l'avevo gia' cercato per altre faccende.
essendo connnesso praticamente da powerpoint a sqlserver e da dao locale a
aspnet, da' tanto l'idea che sia il codice interno ms per
"sorry, non ci capiamo una bloody meenkia".
tipo quel messaggio tipicamente vb "errore imprevisto": grazie al cappero,
se era previsto mica era errore...
nel tuo caso specifico, continuo a pensare che il listbox con items >
integer abbia seri problemi.
lieto di accettare smentite.
ciao, a.

 integer abbia seri problemi...
...quello che mi fa rabbia è che con < di 80000 righe il controllo va una 
meraviglia...mah i misteri di zio bill!
...ciao da ciccio