Valutazione 4.87/ 5 (100.00%) 5838 voti

Condividi:        

listView in VB6

Problemi di HTML? Di PHP, ASP, .NET, JSP, Perl, SQL, JavaScript, Visual Basic..?
Vuoi realizzare programmi in C, C++, Java, Ruby o Smalltalk, e non sai da che parte cominciare?
Entra qui e troverai le risposte!

Moderatori: Triumph Of Steel, archimede

listView in VB6

Postdi albebigio » 07/08/06 17:37

Salve, ho un problema in un software che sto realizzando in vb6. Ho creato una listView, e ha un evento onClick. Il problema è che se non c'è selezionato niente mi viene restituito un errore anche se io nel codice dell'evento ho messo:
Codice: Seleziona tutto
if listView1.selectedItems.text <> "" then
   codice
end if

L'errore è: "Variabile oggetto o variabile del blocco With non impostata".
Qualcuno mi potrebbe aiutare a capire dove è l'errore?
Grazie mille in anticipo
albebigio
Utente Junior
 
Post: 30
Iscritto il: 25/08/05 17:19

Sponsor
 

Postdi GAD » 07/08/06 20:25

Non e' detto che ci sia un item selezionato quindi controllarne il testo e' già un errore perche' quell'oggetto e' nullo.
Dovresti mettere
if listView1.selectedItems <> null then
if listView1.selectedItems.text <> "" then
codice
end if
end if

(nb: io uso c# e c++, non so se per vb e' corretta la sintassi cmq devi controllare se l'oggetto e' nullo o no)
Quando l'ultimo albero sarà abbattuto,l'ultimo pesce catturato,l'ultimo fiume avvelenato,
soltanto allora gli uomini si accorgeranno chei soldi non possono essere mangiati
GAD
Moderatore
 
Post: 2184
Iscritto il: 22/09/02 14:36
Località: Nebbiosa

Postdi albebigio » 08/08/06 08:54

Scusami tanto ma mi da ancora lo stesso errore sulla linea
Codice: Seleziona tutto
if listView1.selectedItems <> null then
albebigio
Utente Junior
 
Post: 30
Iscritto il: 25/08/05 17:19

Postdi GAD » 08/08/06 09:04

Non c'e' il singolare di listView1.selectedItems? visto cosi' sembrerebbe un array e su un array devi controllare i valori dell'elemento
Prova a mettere tutte le condizioni possibili che riguardano il controllo dell'item e debugga per vedere dove causa il problema.


if listView1.selectedItems <> null then
for i=0; i<listView1.selectedItems.count ; i++
if listView1.selectedItems[i] <> null then
if listView1.selectedItems[i].text <> "" then
codice
end if
end if
next
end if
Quando l'ultimo albero sarà abbattuto,l'ultimo pesce catturato,l'ultimo fiume avvelenato,
soltanto allora gli uomini si accorgeranno chei soldi non possono essere mangiati
GAD
Moderatore
 
Post: 2184
Iscritto il: 22/09/02 14:36
Località: Nebbiosa

Postdi albebigio » 08/08/06 09:13

Problema risolto! Come condizione invece di mettere
Codice: Seleziona tutto
listView1.SelectedItem.text <> 0 (o null)
ho messo
Codice: Seleziona tutto
listView1.ListItems.Count > 0
. Grazie mille
albebigio
Utente Junior
 
Post: 30
Iscritto il: 25/08/05 17:19

Postdi hydra » 08/08/06 11:18

Ora non ho presente il VB6, ma non c'è una proprietà tipo SelectedIndex? In teoria se c'è ti ritorna l'indice (presumo in base 0) dell'elemento selezionato.
Per me se metti
Codice: Seleziona tutto
listView1.ListItems.Count > 0

controlla solamente se nella lista ci sono elementi, quindi dovrebbe darti sempre True (se ci sono elementi, ovviamente).
Guarda inoltre se hai un metodo IndexChanged o simile, di solito utilizzo quello.
Avatar utente
hydra
Moderatore
 
Post: 7002
Iscritto il: 19/07/04 08:06
Località: Vallis Duplavis


Torna a Programmazione


Topic correlati a "listView in VB6":


Chi c’è in linea

Visitano il forum: Nessuno e 1 ospite