Registriert seit: 31. Mai 2009
1.198 Beiträge
Turbo Delphi für Win32
|
AW: Methodenzeiger/Funktionszeiger Variable
26. Jan 2011, 01:10
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;
das Erkennen beginnt, wenn der Erkennende vom zu Erkennenden Abstand nimmt
MfG
Geändert von Aphton (26. Jan 2011 um 01:14 Uhr)
|