Einzelnen Beitrag anzeigen

GroHae

Registriert seit: 19. Apr 2007
Ort: Nabburg
83 Beiträge
 
Delphi 2007 Enterprise
 
#1

Endlosschleife bei Property

  Alt 19. Jul 2007, 11:24
Hallo zusammen,

ich versuche gerade mit Propertys zu arbeiten. Irgendwas mach ich aber falsch:

Delphi-Quellcode:

  TTest = class(TObject)
  strict private
    procedure SetProperty1(val : Integer);
    function GetProperty1 : Integer;

  public
    property Property1 : Integer read GetProperty1 write SetProperty1;
  end;


...


function TTest.GetProperty1: Integer;
begin
  result := Property1;
end;

procedure TTest.SetProperty1(val : Integer);
begin
  Property1 := val; // SetPropery wird wieder aufgerufen --> Endlosschleife
  Property1 := Property1 + 1;
end;

procedure TForm1.Button2Click(Sender: TObject);
var
  t : TTest;
begin
  t := TTest.Create;

  T.Property1 := 5;;
  ShowMessage(IntToStr(T.Property1));

  t.Free;

end;

Wenn ich an statt "strict private" nur privat verwende und dann

Delphi-Quellcode:
procedure TForm1.Button2Click(Sender: TObject);
var
  t : TTest;
begin
  t := TTest.Create;

  T.SetProperty1(5);
  ShowMessage(IntToStr(T.Property1));

  t.Free;

end;
sage, passiert genau das selbe.

Was mach ich falsch?
Grüße

Thomas
  Mit Zitat antworten Zitat