Thema: Delphi Setter von Properties

Einzelnen Beitrag anzeigen

Gremlin

Registriert seit: 18. Apr 2006
Ort: Im Süden
177 Beiträge
 
Delphi 7 Enterprise
 
#1

Setter von Properties

  Alt 11. Jul 2017, 10:34
Hallöchen,

ich erstelle gerade diverse Setter für published Properties und dabei ist mir aufgefallen, das in der IDE über den ObjectInspector die Setter für Boolean Properties immer zweimal aufgerufen werden, während es bei den anderen Settern jeweils nur einmal passiert. Gibt es dafür einen besonderen Grund?
Delphi-Quellcode:
type
  TFoo = class(TComponent)
  private
    FValueInt : integer;
    FValueBool : Boolean;
    procedure SetValueInt(Value:integer);
    procedure SetValueBool(Value:Boolean);
  published
    constructor Create(AOwner:TComponent); override;
    property ValueInt : integer read FValueInt write SetValueInt;
    property ValueBool : Boolean read FValueBool write SetValueBool;
  end;

//------------------------------------------------------------------------------
constructor TFoo.Create(AOwner:TComponent);
begin
  inherited Create(AOwner);
  FValueInt := 0;
  FValueBool := False;
end;

//------------------------------------------------------------------------------
procedure TFoo.SetValueInt(Value:integer);
begin
  ShowMessage('TFoo.SetValueInt - called one times');
  if (Value <> FValueInt) then begin
    FValueInt := Value;
  end;
end;

//------------------------------------------------------------------------------
procedure TFoo.SetValueBool(Value:Boolean);
begin
  ShowMessage('TFoo.SetValueBool - called two times');
  if (Value <> FValueBool) then begin
    FValueBool := Value;
  end;
end;
Gruss Gremlin
  Mit Zitat antworten Zitat