Einzelnen Beitrag anzeigen

Benutzerbild von Jonas Shinaniganz
Jonas Shinaniganz

Registriert seit: 30. Aug 2011
249 Beiträge
 
Delphi XE5 Ultimate
 
#37

AW: Eigene Ereignisse auslösen

  Alt 26. Mai 2014, 23:05
Also noch mal etwas ausführlicher, gerne morgen auch mit Codebeispiel.

1. Die Async-Pro Bibliothek bietet dir die Klasse TComport und TDatapacket (der Rest aus der Bibliothek ist für dieses Projekt nicht nötig).

2. Du kannst zur Designzeit ein TComport und ein TDatapacket auf das leere Formular eines neuen Projektes ziehen. Das TComport Objekt mit den nötigen Werten, die vereinbart sind, belegen. Dem TDatapacket sein Comport zuweisen.

3. Das TDatapacket schnappen, dort deine Start und End Kondition angeben (Das ist meist der einzig kniffelige Teil, je nach dem wie gut das Protokoll ist).
Wenn du aber eine Start-Kondition hast, hast du schon mal das Glück das du durch deine Struktur genau sagen kannst wie viele Byte-Daten du erwartest. Es wäre also möglich das Packet Ende durch die Package-Size zu bestimmen. Damit wäre dem erkennen des Paketes im seriellen Stream genüge getan.

Das TDatapacket könne also als Variablenname z.B. heißen wie dein Record + Datapacket.

4. Das OnPacket des TDatapacket belegen und dort auf die richtige Oberfläche wechseln.

Ich rate dir an dieser Stelle von Sir Rufos (wie immer sehr wertvollen Beiträgen) ab, empfehle dir weiterhin, eine sehr gut durchdachte und fertige Bibliothek zu nehmen. Auch wenn es sicherlich für die Programmierpraxis und den Weg deutlich besser wäre, Sir Rufos Ansatz zu verfolgen.
Das was ich beschrieben habe, kann man sich in 30 min zusammenklicken.

Gruß
Die Leiter der Entwicklungsabteilung dreht total am Mausrad!
  Mit Zitat antworten Zitat