Como introducción nada más decir que me gusta mucho el control SGrid2 de vbAccelerator, y llevo un rato usándolo en muchas de mis apps, el año pasado me tope con el primer problema, no funcionaba en Win7/Vista, averiguando por ahí me enteré que habia una actualización del sSubTmr.dll (sSubTmr6.dll) que corregía el problema, descargué los fuentes, actualicé las referencias, compilé y listo! Sgrid2 funcionando en Win7, pero ahora me tope con un caso raro, registré el OCX y la DLL como admin en un PC con Win8 x64 pero no me funciona el SGrid2, ya probe casi de todo y nada, incluso Instale VB6 en esa maquina y nada ni siquiera me carga en el modo Diseño por lo que creo es problema de la DLL(en una VM con Win8 x64 lo probé y funciona bien...), de ahí me sugió la inquietud de prescindir de la DLL, encontré los fuentes de sSubTmr6 y copié el módulo y las 3 clases a los fuentes del SGrid2, pero (aquí viene el problema), entiendo muy poco (casi nada) de SubClases (Soy programador autodidacta, no por estudios
) y me arroja un error al usar la Clase ISubClass en un Sub del GSubClass:
"Error de compilación, El módulo de Objeto necesita implementar 'MsgResponse' para la interfaz 'ISubClass'"
Ya había visto y usado las Interfaces, pero nunca ví que se usara como un parámetro dentro de un Sub o Función....
'ISubClass Class Module
Option Explicit
Public Enum EMsgResponse
emrConsume = 0& ' Process instead of original WindowProc
emrPostProcess = 1& ' Process after original WindowProc
emrPreProcess = 2& ' Process before original WindowProc
End Enum
Public MsgResponse As EMsgResponse
Function WindowProc(ByVal hwnd As Long, _
ByVal iMsg As Long, _
ByVal wParam As Long, _
ByVal lParam As Long) As Long
End Function
'GSubClass Class Module
Implements ISubclass
Sub AttachMessage(iwp As ISubclass, ByVal hwnd As Long, ByVal iMsg As Long)
...
End Sub
Sub DetachMessage(iwp As ISubclass, ByVal hwnd As Long, ByVal iMsg As Long)
...
End Sub
Por Favor, a los más entendidos en esta área les agradecería si pudieran ayudarme/explicarme, así aprendo parte de VB6 que ultimamente me he visto en la necesidad de aplicar.
Saludos