Einzelnen Beitrag anzeigen

Benutzerbild von Aphton
Aphton

Registriert seit: 31. Mai 2009
1.198 Beiträge
 
Turbo Delphi für Win32
 
#2

AW: Methodenzeiger/Funktionszeiger Variable

  Alt 26. Jan 2011, 00: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 00:14 Uhr)
  Mit Zitat antworten Zitat