AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Eigene Ereignisse auslösen

Ein Thema von akurka · begonnen am 25. Mai 2014 · letzter Beitrag vom 1. Jun 2014
Antwort Antwort
Benutzerbild von Jonas Shinaniganz
Jonas Shinaniganz

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

AW: Eigene Ereignisse auslösen

  Alt 26. Mai 2014, 08:02
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

Delphi-Quellcode:
type
  T_CNCStatus = packed record
  private
    FZbetr: byte;
    procedure SetZbetr(const Value: byte);
  public
    OnZbetrChange : TNotifyEvent;
    Kopf : byte;
    property Zbetr : byte read FZbetr write SetZbetr;
  end;

implementation

procedure T_CNCStatus.SetZbetr(const Value: byte);
begin
  // hier könntest du vorher überprüfen ob sich der Wert wirklich geändert hat.
  FZbetr := Value;
  if Assigned(OnZbetrChange) then
    OnZbetrChange(nil);
end;
Die Leiter der Entwicklungsabteilung dreht total am Mausrad!

Geändert von Jonas Shinaniganz (26. Mai 2014 um 08:12 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von akurka
akurka

Registriert seit: 30. Dez 2008
Ort: Schweiz, 8636 Wald ZH
81 Beiträge
 
Delphi 7 Personal
 
#2

AW: Eigene Ereignisse auslösen

  Alt 26. Mai 2014, 08:29
Hallo Jonas, vielen Dank , das ist es, was ich gesucht habe !
Die übrige Bytes aus Status records werden zwar benötigt, aber müssen
keine ereignis auslösen. Ist es richtig, dass die Typendeklaration für Status
dann insgesamt wie folgt aussehen wird :

T_CNCStatus =packed record
private
FZbetr: byte;
procedure SetZbetr(const Value: byte);
public
OnZbetrChange : TNotifyEvent;
Kopf :byte;
Zbetr :byte;
ZREFE :byte;
FLAG :byte;
POSA1 :byte;
POSA2 :byte;
STACK :byte;
ZAUTO :byte;
ZOUT1 :byte;
ZOUT2 :byte;
ZINP1 :byte;
ZINP2 :byte;
VORSL :byte; {VORSCHUB}
VORSH :byte;
DAOUTL :byte; {DA1}
DAOUTH :byte;
SMAXH :byte;
property Zbetr : byte read FZbetr write SetZbetr;
end; {record}

mfg Anton
Anton Kurka
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.399 Beiträge
 
Delphi 12 Athens
 
#3

AW: Eigene Ereignisse auslösen

  Alt 26. Mai 2014, 08:52
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.
Ein Therapeut entspricht 1024 Gigapeut.
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:15 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz