Einzelnen Beitrag anzeigen

zeras

Registriert seit: 11. Mär 2007
Ort: Saalkreis
1.618 Beiträge
 
Delphi 12 Athens
 
#9

AW: Eigene Ereignisse auslösen

  Alt 25. Mai 2014, 21:34
Überlege mal, wie man zu einem Ereignis kommt.
Man muss intern überprüfen und dann sehen, ob der Status sich geändert hat. Der beste Zeitpunkt ist, wie schon oben beschrieben, die Empfangsorutine. Die läuft ereignisgesteuert. Und da wirst du dich reinhängen müssen.
Soweit, wie ich weiß, läuft bei den RS232 Units um Hintergrund ein schneller Timer, der prüft, ob neue Daten im Hardwareempfangspuffer liegen und holt diese dann ab. Damit werden dann Ereignisse wie OnReceived etc. erstellt.
Prüfe also im Ereignis OnReceived oder ähnlich ab, ob 16 Bytes da sind und lege diese in einem separaten Puffer ab. Wenn dann wieder 16 Bytes da sind, vergleichst du dann die neuen Daten mit den Alten Daten und wenn sich der Status geändert hat, machst du dann deine Routine.
Matthias
Es ist nie falsch das Richtige zu tun!
- Mark Twain
  Mit Zitat antworten Zitat