![]() |
Methodenzeiger/Funktionszeiger Variable
Hallo und Hallöchen,
ich bin neu in Delphi und arbeite mit ver.2010, habe mir eine OPC Client gebastelt und alles funzt supi. Nun Stellte ich mir folgende frage: geht das das ich eine Integer Varieble überwachen lasse und wenn sich dieser wert ändert das automatisch dann meine sende funktion diesen geänderten wert zum OPCServer sendet. Leider fehlt mir jeglicher ansatz, was auch den nicht ganz konkreten Titel beweist, um nach dem "was ich will" bei google zu suchen oder die foren nach lösungen zu wälzen. Also wenn mir jemand dabei helfen könnte, fänd ich das super. LG TheCatPrj2501 |
AW: Methodenzeiger/Funktionszeiger Variable
Ein Ansatz...
Delphi-Quellcode:
type
TNotifyEvent = procedure(Sender: TObject) of object; TSomeClass = class private FMyInt: Integer; FOnMyIntChange: TNotifyEvent; procedure SetMyInt(const Value: Integer); public property MyInt: Integer read FMyInt write SetMyInt; property OnMyIntChange: TNotifyEvent read FOnMyIntChange write FOnMyIntChange; end; procedure TSomeClass.SetMyInt(const Value: Integer); var HasChanged: Boolean; begin HasChanged := Value <> FMyInt; FMyInt := Value; if HasChanged and Assigned( FOnMyIntChange ) then FOnMyIntChange( Self ); end; {weiters} TForm1 = class( TForm ) // oder so.. procedure FormCreate(Sender: TObject); public SomeInstance: TSomeClass; procedure OnSomeInstanceMyIntChange(Sender: TObject); end; procedure TForm1.FormCreate(Sender: TObject); begin SomeInstance := TSomeClass.Create; SomeInstance.OnMyIntChange := OnSomeInstanceMyIntChange; end; procedure TForm1.OnSomeInstanceMyIntChange(Sender: TObject); var I: Integer; begin I := TSomeClass(Sender).MyInt; // nun per Socket senden {...} end; |
AW: Methodenzeiger/Funktionszeiger Variable
Schreibt man eine Setter-Methode i.d.R. nicht eher so:
Delphi-Quellcode:
:-D
procedure TSomeClass.SetMyInt(const Value: Integer);
begin If Value <> FMyInt then begin FMyInt := Value; If Assigned(FOnMyIntChange) then FOnMyIntChange(Self); end; end; |
AW: Methodenzeiger/Funktionszeiger Variable
Kann man machen. Ist sogar schöner so. Danke für den Hinweis!
|
AW: Methodenzeiger/Funktionszeiger Variable
Danke für eure hilfte hat alles super geklappt:thumb:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:31 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