NeWNeO
27-05-2004, 16:34:34
Wolaps:
Estoy construyendo un Componente no visual para poder controlar ciertos parámetros de los lectores.
Utilizo el siguiente código:
procedure WMDEVICECHANGE(var msg:tmessage);message WM_DEVICECHANGE;
procedure TWinCDControl.WMDEVICECHANGE(var msg:tmessage);
const
DBT_CONFIG_CHANGED = $0018;
DBT_DEVICE_ARRIVAL = $8000;
DBT_DEVICE_QUERY_REMOVE = $8001;
DBT_DEVICE_QUERY_REMOVE_FAILED = $8002;
DBT_DEVICE_REMOVE_PENDING = $8003;
DBT_DEVICE_REMOVE_COMPLETE = $8004;
DBT_DEVICE_TYPE_SPECIFIC = $8005;
begin
case msg.WParam of
DBT_DEVICE_REMOVE_COMPLETE: OnCDOpen(Self);// Acciones al abrir
DBT_DEVICE_ARRIVAL: OnCDClose(Self);// Evento al cerrar
end;
end;
OnCDOpen y OnCDClose son 2 TNotifyEvent declarados correctamente y funcionan si se les aplica cualquier otra función
Este código utilizado en cualquier aplicación normal funciona a la perfección, pero al introducirlo en mi componente no funciona. ¿Alguien me puede dar una solución para hacer que funcione?
Estoy construyendo un Componente no visual para poder controlar ciertos parámetros de los lectores.
Utilizo el siguiente código:
procedure WMDEVICECHANGE(var msg:tmessage);message WM_DEVICECHANGE;
procedure TWinCDControl.WMDEVICECHANGE(var msg:tmessage);
const
DBT_CONFIG_CHANGED = $0018;
DBT_DEVICE_ARRIVAL = $8000;
DBT_DEVICE_QUERY_REMOVE = $8001;
DBT_DEVICE_QUERY_REMOVE_FAILED = $8002;
DBT_DEVICE_REMOVE_PENDING = $8003;
DBT_DEVICE_REMOVE_COMPLETE = $8004;
DBT_DEVICE_TYPE_SPECIFIC = $8005;
begin
case msg.WParam of
DBT_DEVICE_REMOVE_COMPLETE: OnCDOpen(Self);// Acciones al abrir
DBT_DEVICE_ARRIVAL: OnCDClose(Self);// Evento al cerrar
end;
end;
OnCDOpen y OnCDClose son 2 TNotifyEvent declarados correctamente y funcionan si se les aplica cualquier otra función
Este código utilizado en cualquier aplicación normal funciona a la perfección, pero al introducirlo en mi componente no funciona. ¿Alguien me puede dar una solución para hacer que funcione?