Forum: Algorithmen, Datenstrukturen und Klassendesign
by himitsu,
26. Mai 2014
Indem man z.B. das TMyClass weiterhin als Record belässt und dann z.B. über ComPort.Read oder TStream.Read direkt in den Speicher der Record-Variable schreibt.
Dann geht der Wert direkt in das Feld und wird nicht über das Property umgeleitet.
Forum: Algorithmen, Datenstrukturen und Klassendesign
by himitsu,
26. Mai 2014
Wenn du diesen Record aber vom Comport oder einem Stream einliest, dann wird direkt auf den Speicher zugegriffen und das Property umgangen.
Der Setter wird nur benutzt, wenn über das Property etwas zugewiesen wird.
Forum: Algorithmen, Datenstrukturen und Klassendesign
by himitsu,
25. Mai 2014
Im Prinzip muß also der alte Status gespeichert sein.
Nach Empfang und Auswertung des aktuellen Records wird dessen Inhalt z.B. in sowas wie FLastCNCStatus: T_CNCStatus; gespeichert. (falls die einzelnen Statuswerte nicht schon irgendwo existieren)
Bei der Auswertung kann man nun die Alten mit den neuen Werten vergleichen und bei einem Unterschied dann das gewünschte Ereignis auslösen.