Programación General > Delphi

 Como Crear Interrupcion

(1/1)

hecktor00:
como  se crea una interrupcion.
mi situacion es esta utilizo assembler para saber el estado del puerto paralelo,pero en algunas ocasiones no detecta el dato enviado por el puerto.

el  codigo se encuentra dentro de un timer.

mov dx,dir puerto
in al, dx;

lo que necesito es q cuando dectecte la interrupcion p.ej del pin (BUSY) ,vaya y ejecute las acciones, sin necesidad de utilizar el timer.

Amilius:
El problema es que en windows las "interrupciones" no son como en DOS. Las cosas se complican por que tienes corriendo varios programas a la vez, problemas de seguridad, etc. Generalmente el sistema operativo detectará los eventos generados por el hardware y enviará un "mensaje" a todas las aplicaciones que corresponda.

Por lo que estas cosas en windows se hacen respondiendo a mensajes.

En el siguiente ejemplo el procedimiento CMExit sólo será llamado si windows envia el mensaje "CM_MOUSELEAVE" dicho mensaje será enviado si el cursor del ratón abandona el componente notificado.


--- Citar ---type
  TCMExit = TWMNoParams;
...
    procedure CMExit(var Message: TCMExit); message CM_MOUSELEAVE;
...
procedure CMExit(var Message: TCMExit);
begin
  ....
end;

--- Fin de la cita ---

Creo que buscar un OPEN SOURCE para manejo de puerto paralelo en windows te resolvería bastantes dudas y te permitiría modificarlo para suplir tus requerimientos.

Navegación

[0] Índice de Mensajes

Ir a la versión completa