Avevo aperto il thread "completamento automatico vettore di caselle di testo", chiedendo dove fosse il problema senza ricevere risposta:

Originariamente inviato da adone79
Tempo fa su questo forum mi hanno postato la seguente classe per il completamento automatico di una casella di testo:

codice:
Option Explicit
Private WithEvents m_txtComplete As TextBox
Private m_strDelimeter As String
Private m_strList As String
Private Sub m_txtComplete_KeyUp(KeyCode As Integer, Shift As Integer)

Dim i As Integer
Dim strSearchText As String
Dim intDelimented As Integer
Dim intLength As Integer
Dim varArray As Variant
With m_txtComplete
If KeyCode <> vbKeyBack And KeyCode > 48 Then
If InStr(1, m_strList, .Text, vbTextCompare) <> 0 Then
varArray = Split(m_strList, m_strDelimeter)
For i = 0 To UBound(varArray)
strSearchText = Trim(varArray(i))
If InStr(1, strSearchText, .Text, vbTextCompare) And
(Left$(.Text, 1) = Left$(strSearchText, 1)) And
.Text <> "" Then
.SelText = ""
.SelLength = 0
intLength = Len(.Text)
.Text = .Text & Right$(strSearchText, Len(strSearchText) - Len(.Text))
.SelStart = intLength
.SelLength = Len(.Text)
Exit Sub
End If
Next i
End If
End If
End With
End Sub

Public Property Get CompleteTextbox() As TextBox
Set CompleteTextbox = m_txtComplete
End Property

Public Property Set CompleteTextbox(ByRef txt As TextBox)
Set m_txtComplete = txt
End Property

Public Property Get SearchList() As String
SearchList = m_strList
End Property

Public Property Let SearchList(ByVal str As String)
m_strList = str
End Property

Public Property Get Delimeter() As String
Delimeter = m_strDelimeter
End Property

Public Property Let Delimeter(ByVal str As String)
m_strDelimeter = str
End Property
e per utilizzarla ho scritto nel form principale il seguente codice:

codice:
Option Explicit

Private m_objAutoCompleteUser As clsAutoComplete

Private Sub Form_Unload(Cancel As Integer)
Set m_objAutoCompleteUser = Nothing
End Sub

Private Sub Form_Load()
Set m_objAutoCompleteUser = New clsAutoComplete
With m_objAutoCompleteUser
.SearchList = "prova,ciao"
Set .CompleteTextbox = txtUser
.Delimeter = ","
End With
End Sub
se adesso anziché ad una sola casella di testo txtUser volessi applicare la classe a un elemento txtUser(1) di un vettore di caselle di testo txtUser() mi da errore
altrove mi hanno detto che si tratta di un bug di vb6, che è spiegato sul sito della microsoft alla pagina http://support.microsoft.com/default...d=kb;it;625535

purtroppo non è spiegato come aggirare il problema.. qualcuno saprebbe dirmi come uscire dall'impasse?