PDA

Ver la Versión Completa : Access violation a un record en DLL


jocaro
07-08-2016, 14:36:04
Hola

Tengo una DLL que captura los eventos del boton izquierdo del ratón y una aplicación que los recibe en un memo.

Si pulso el botón izquierdo del ratón sobre la aplicación que recibe, aparecen sus coordenadas en el memo.

Si pulso fuera, se produce un error de violación de memoria y después escribe las coordenadas en el memo. El error se produce cuando intenta leer el mensaje
recibido por la función, que es un puntero a un packed record en la DLL, en la línea 125 de la unidad SimPul.pas.


rMePuRa.wParRat := TMePuRa(message.copyDataStruct.lpData^).wParRat;


Adjunto un fichero zip con la consulta

¿Que estoy haciendo mal?, ¿por que en el caso de pulsar sobre la aplicación el puntero es visible y cuando pulso fuera no lo es?

Alguno de vosotros que me pueda orientar. Un saludo