Newsgroup: it.comp.lang.visual-basic
Titolo: Questa non mi era ancora capitata.

Ho un progettino abbastanza semplice, in cui in una combo carico degli
elementi e dopo la scelta dell'utente uso il listIndex per ritrovare in un array
un certo valore (UCAS ? Forse, ma va bene...e ha i suoi motivi).
Ad un certo punto mi accorgo che qualcosa non va: il valore che ritrovo
è sistematicamente inferiore di 1 a quello che dovrebbe essere. Mi dico
che forse è il sonno, il lavoro, il caldo le cavallette... boh.
Può capitare, forse non me ne ero accorto finora e ha sempre fatto così ?
Chissà, in effetti ci sto ancora lavorando e... oh, beh, metto un + 1 nel
posto giusto e vedo tutto andare bene.
Chiudo VB, faccio un paio di altre cose *non al PC*, riapro il prog, e,
indovinate... ? Esatto, ho di nuovo i valori sballati di uno, stavolta *in più*.
Tolgo il "+ 1" dal codice, e tutto di nuovo a posto.
Vi risparmio tempo sulle ovvie domande: no, non ho cambiato altro,
i valori sono presi da un file (dieci righe di testo), che non ho assolutamente
modificato, *non* ho toccato il codice, dis/installato, riavviato, modificato,
eccetera eccetera. Niente. Boh.
******************************
Passo seguente, la parte peggiore: richiudo e riapro il prog, ora i valori
sono *praticamente casuali*. Se eseguo passo passo tutto OK, nel
funzionamento normale, il ListIndex della combo non mi dà due volte
lo stesso risultato... Su una riga di codice è difficile sbagliare: in un
command ho messo un normalissimo:
Debug.Print cboCategorie.ListIndex
Senza toccare la combo, viene 1, 3 ,7, 2, 11, 6, 3...
Certo, che se non ci si può fidare più neanche di una comboBox...
Non ho forza né voglia di commentare ancora :-(.
Ora spengo, e domani sera, a mente e processore freschi, vedremo
cosa succede.
'notte, G.


  ci sarà di sicuro un errore nel codice prova a postarlo
listindex  cmq va da  0 a n-1  per le posizione di un numero di item 
pari a n  e assume -1 qunado non ci sono item

 [SNIP]
Due righe di codice? =)
Come gia' detto, ListIndex va da 0 a ListCount - 1.
List, invece, va da 1 a ListCount.
Non e' che per caso hai proprieta' Sorted della Combo a True?
hth,
Lokar
P.S. Facci sapere
-- 
Sito Comune: 
http://www.it-lang-vb.net/
Manifesto: 
http://www.it-lang-vb.net/docs
­/Manifesto.txt
Statuto: 
http://www.it-lang-vb.net/docs
­/Statuto.txt
UGIdotNET - 
http://www.ugidotnet.org
 

 P.S. Facci sapere
Più tardi lo riapro e vedo. Ora sono su un'altra macchina a fare
altre cose :-/
Bye, G.

 pari a n  e assume -1 qunado non ci sono item
Questo lo so... il problema è che mi aspetto che, se nessuno tocca
la combo, e qualla non cambia neanche visivamente, il valore del
.LinstIndex sia sempre lo stesso ogni volta che lo controllo, cacchio >:-[
Non ci sono timer, non c'è altro codice che possa interferire, niente
controlli strani, nessun'altra Form, non ci sono altri riferimenti alla
combo nel codice tranne un .Clear e una serie di .AddItem per riempirla,
nel Form_Load. La combo presentava sempre lo stesso item, il mouse
era ben saldo nella mia mano, non è ad infrarossi e neanche la tastiera,
che a sua volta funziona perfettamente, e ti posso *garantire* che su
quella macchina non ci sono "ospiti indesiderati" di nessun genere.
Bye, G.

 altre cose :-/
Come previsto: riavviato, ricaricato il prog, e va tutto normalmente.
Come mi fanno incazzare queste cose... >:-[
Bye, G.