property OnTriggerStatus : TTriggerStatusEvent
TTriggerStatusEvent = procedure(
CP : TObject; TriggerHandle : Word) of object;
Defines an event handler that is called whenever a line status change of some kind is detected.
This event handler combines the events described under OnTriggerLineError, OnTriggerModemStatus, OnTriggerOutbuffFree, OnTriggerOutbuffUsed, and OnTriggerOutSent.
CP is the TApxComPort component that generated the trigger. TriggerHandle is the handle number returned when the trigger was added.
With the exception of OnTriggerOutSent, status triggers are not self-restarting. The event handler must call SetStatusTrigger again to reactivate the trigger as needed.
The following example adds and activates status triggers for line errors and modem status changes. Subsequent status events are handled by ApxComPortTriggerStatus.
TrigLE : Word;
TrigMS : Word;
...
TrigLE := ApxComPort.AddStatusTrigger(stLine);
TrigMS := ApxComPort.AddStatusTrigger(stModem);
ApxComPort.SetStatusTrigger(TrigLE, lsParity or lsFraming or lsOverrun or lsBreak, True);
ApxComPort.SetStatusTrigger(TrigMS, msRingDelta or
msDSRDelta, True);
...
procedure TMyForm.ApxComPortTriggerStatus(
CP : TObject; TriggerHandle : Word);
begin
if TriggerHandle = TrigLE then begin
...handle line error or break
...reset line error trigger
end else if TriggerHandle = TrigMS then begin
...handle modem status change
...reset modem status trigger
end;
end;
See also: OnTriggerLineError, OnTriggerModemStatus, OnTriggerOutbuffFree, OnTriggerOutbuffUsed, OnTriggerOutSent