Autor Tema: Problema ucAutocomplete  (Leído 3306 veces)

0 Usuarios y 2 Visitantes están viendo este tema.

seba123neo

  • Terabyte
  • *****
  • Mensajes: 763
  • Reputación: +88/-5
    • Ver Perfil
Problema ucAutocomplete
« en: Enero 03, 2012, 10:00:30 pm »
Hola, estaba probando a full este control de Leandro, el cual esta muy bueno, ya lo venia usando, pero ahora probandolo con varios datos, salto que tiene como un bug o algo que le falta.

aca estan los pasos para poder ver la falla:

1 - bajarse el ejemplo de la pagina y con ese mismo ejemplo, ejecutar el programa.
2 - en el primer textbox , poner la palabra ABEL, fijarse que mientras vamos escribiendo mas letras la cantidad de registros va disminuyendo, eso esta bien.
3 - luego de la palabra "ABEL" poner alguna letra para que no coincida con nada, por ejemplo una "g", o sea que quedaria "ABELG", con esa palabra no encuentra nada, hasta ahi bien.
4 - luego ir borrando letra por letra, veran que al borrar la "G", vuelven a aparecer los registros, hasta ahi bien, ahora despues sigo borrando y ya no aparece ninguno, y deberian aparecer los mismo que cuando la ingrese por primera ves, ahi esta el tema.

me fije en el codigo y le agrege un rfresh cuando muestra la lista, funciona, pero se pone lento la busqueda.

haber si alguien puede ver algo..

gracias desde ya.

saludos.

cobein

  • Moderador Global
  • Gigabyte
  • *****
  • Mensajes: 348
  • Reputación: +63/-0
  • Más Argentino que el morcipan
    • Ver Perfil
Re:Problema ucAutocomplete
« Respuesta #1 en: Enero 04, 2012, 12:23:46 am »
Seba el problema esta en la funcion CargarArray, una solucion pedorra es "resetearla" asi

Anda a Private Sub WndProc(ByVal bBefore As Boolean, _ la ultima funcion del control y pone


   Case WM_CHAR, WM_CLEAR, WM_CLEAR, WM_PASTE, WM_UNDO, WM_CUT

        Dim sText As String
       
        If wParam > 0 And wParam < 27 And wParam <> 8 And wParam <> 13 Then Exit Sub

        If bBefore Then
            If wParam = vbKeyEscape Then
                ListHide
                bHandled = True
            End If
           
            If wParam = vbKeyReturn Then
                sText = GetEditText
                SendMessage m_hEdit, EM_SETSEL, 0, Len(sText)
                ListHide
                bHandled = True
            End If
        Else
            If wParam <> vbKeyEscape Or wParam <> vbKeyReturn Then
           
                sText = UCase(GetEditText)
               
                If wParam = vbKeyBack Then CargarArray vbNullString <----- ///////////////////// esta linea
                CargarArray sText
« última modificación: Enero 04, 2012, 12:28:09 am por cobein »

seba123neo

  • Terabyte
  • *****
  • Mensajes: 763
  • Reputación: +88/-5
    • Ver Perfil
Re:Problema ucAutocomplete
« Respuesta #2 en: Enero 04, 2012, 10:41:44 am »
barbaro, cobein, si funciona, gracias che.

saludos.

LeandroA

  • Administrador
  • Petabyte
  • *****
  • Mensajes: 1128
  • Reputación: +151/-8
    • Ver Perfil
Re:Problema ucAutocomplete
« Respuesta #3 en: Enero 04, 2012, 08:59:51 pm »
Actualizado, gracias a los dos.