Forum: Algorithmen, Datenstrukturen und Klassendesign
by Jonas Shinaniganz,
27. Mai 2014
Okay also hast du die Komponenten schon installiert?
Der Rest ist soweit richtig.
Hier das Beispiel.
Bei Fragen, gerne.:-D
Forum: Algorithmen, Datenstrukturen und Klassendesign
by Jonas Shinaniganz,
26. Mai 2014
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,...
Forum: Algorithmen, Datenstrukturen und Klassendesign
by Jonas Shinaniganz,
26. Mai 2014
Okay vielleicht fällt es mir auch nur zu schwer, mich da in etwas hineinzudenken was ich nicht sehe :) In dem was du sagst stimme ich zu.
akurka, schau einmal hier in den Guide. In der Sektion Datapackages. http://tpapro.sourceforge.net/docs/APRO_ReferenceGuide.pdf
Diese Bibliothek ist so mächtig das der serielle Stream vor ihr erzittert :]
Forum: Algorithmen, Datenstrukturen und Klassendesign
by Jonas Shinaniganz,
26. Mai 2014
akurka, poste doch mal bitte wo du den Record befüllst, wenn das möglich ist.
Ich empfehle dir nochmals (weil es eine wirklich durchdachte Implementation ist) einen Blick in die AsyncPro Bibliothek zu werfen (speziell Datapackages). Es gibt auch eine gute Dokumentation dazu.
Forum: Algorithmen, Datenstrukturen und Klassendesign
by Jonas Shinaniganz,
26. Mai 2014
Ja aber an irgendeiner Stelle muss ja der Record belegt werden, ob jetzt dann oder davor. In dem Moment fliegt dann das Event.
TMyRec = record
strict private
FNichtBeschreibbar: Boolean;
procedure SetNichtBeschreibbar(const Value: Boolean);
public
property NichtBeschreibbar : Boolean read FNichtBeschreibbar write SetNichtBeschreibbar;
end;
Forum: Algorithmen, Datenstrukturen und Klassendesign
by Jonas Shinaniganz,
26. Mai 2014
Reden wir aneinander vorbei? Den Setter kann man nicht umgehen, es handelt sich doch um eine globale Version des Records. Oder wird die komplette Record-Variable überschrieben?
Forum: Algorithmen, Datenstrukturen und Klassendesign
by Jonas Shinaniganz,
26. Mai 2014
Stimmt hatte vergessen "strict private" drauß zu machen, aber man müsste schon explizit FZbetr beschreiben um den Setter zu umgehen.
Wie hilft denn hier ein Flag? Das OnChance hätte ja schon aufgerufen werden müssen, wenn du das Flag zurück setzt. Das wird dadurch nur komplizierter.
Ich empfehle serielle Datenpakete zu verwenden. AsyncPro bietet das kostenlos. Stichwort Songbeamer
Forum: Algorithmen, Datenstrukturen und Klassendesign
by Jonas Shinaniganz,
26. Mai 2014
Wie ist es möglich, den Setter zu umgehen und auf FZbetr zu schreiben?
Mal ganz von den bisherigen Beiträgen abgesehen. Das Vorhaben mutet an wie die Bastellösung eines seriellen TDatapackage. Welches über Events verfügt und auch ansonsten eigentlich keine Wünsche offen lässt.
edt: Und noch eine Anmerkung. Da du einen Record verwendest gehe ich davon aus das die Daten des Records...
Forum: Algorithmen, Datenstrukturen und Klassendesign
by Jonas Shinaniganz,
26. Mai 2014
Wenn du T_CNCStatus anfassen kannst, wovon ich ausgehe, ist folgendes denkbar:
1. Erweiterung von T_CNCStatus um Property
2. Erweiterung von T_CNCStatus um Event
type
T_CNCStatus = packed record
private
FZbetr: byte;