El código es más o menos lo siguiente:
Dim aops As New String[]
Dim r As Result
Inc Application.Busy
r = miconexion.consultar("select distinct micampo from mitabla")
milistbox.clear
aops = New String[]
r = thegrid.rslt
While r.Available
milistbox.Add(r!micampo) 'esto tarda la vida entera
'aops.Add(r!micampo) 'esto es rapidisimo
r.MoveNext
Wend
'milistobx.list = aops 'esto, que era rapidísimo en conexión con la línea comentada arriba, cuelga la aplicacion
milistbox.SetFocus
Dec Application.Busy
Catch
Error.Raise(Error.Text)
End
He perdido una tarde en el tema y no encuentro que el control haya sido modificado en sí mismo... ¿o estoy equivocado?