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?