Tengo una áplicación (cliente) que activa un segundo proceso en paralelo (servidor) para manejar la adquisicón de datos a partir de unidades de conversión AD conectadas vía USB. Los procesos se comunican mediante mensajes cuya recepción se controla a través de subclassing.
Por ejemplo, el servidor envía cierta data usando Sendmessage:
Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long
en wParam se indica "acerca de que habla" y lParam apunta a una de varias posibles estructuras que contienen los datos
El programa en VB6 tiene una ruitina para el subclassing que recibe wParam y lParam. Mi problema es recuperar el contenido de lparam.
Se me ocurre una manera poco "elegante" de hacerlo definiendo una serie de rutinas (una por cada tipo de estrutura) y usar un select case para llamarlas, Algo así;
Dim A : RecordType1
Dim B : RecordType2
.
.
.
select case wParam
Case 1
A = Recupera1(lParam)
Case 2
B = Recupera2(lParam)
...
Function Recupera1 (byRef E as RecorType1) as RecordType1
Recupera1 = E
end function
Function Recupera2 (byRef E as RecorType2) as RecordType2
Recupera2 = E
end function
No lo he probado pero creo que trabajaría. Sin embargo quería saber si existe un camino más directo y flexible.
Gracias,