Ciao, con l'istruzione Redim Preserve vettore(MaxIndiceVettore + 1) non si fa altro che aumentare la dimensione del vettore, mantenendo i dati che ha in esso, e quando tu devi inserire un nuovo messaggio, lo devi fare usando l'ultimo indice col quale hai dimensionato il vettore (MaxIndiceVettore+1) , ti faccio un esempio:
codice:
dim messaggi() as string
dim idxMsg as long
private sub AddNewMsg(messaggio as string)
idxMsg=idxMsg+1
redim preserve messaggi(idxMsg)
messaggi(idxMsg)=messaggio
end sub
Private Sub Form_Load()
idxMsg = -1
End Sub
Per inserire un nuovo messaggio, basta richiamare la sub AddNewMsg passandogli il messaggio da memorizzare, ogni messaggio viene inserito nel vettore messaggi usando sempre un indice diverso, pertanto non perderai nessun dato. Per recuperare i dati che sono nel vettore, non devi far altro che ciclare il vettore messaggi per per sua grandezza, usando la funzione Ubound(messaggi) , in pratica, volendo visualizzare i messaggi ricevuti in una listbox:
codice:
private sub LeggiMessaggi()
for idxMsg=0 to Ubound(messaggi)
List1.AddItem messaggi(idxMsg)
next
end sub