Hai s.h.a.r.k
wenn deine Klasse zum Beispiel so aussieht:
Delphi-Quellcode:
myClass = class
private
fTest : string;
fblubb : integer;
procedure SetTest(aValue : string);
protected
public
constructor Create;
destructor Destroy; override;
property Test : string read fTest write SetTest;
published
end;
{ myClass }
constructor myClass.Create;
begin
inherited;
fTest := '';
fblubb := 0;
end;
destructor myClass.Destroy;
begin
inherited;
end;
procedure myClass.SetTest(aValue: string); // Setter von fTest
begin
fTest := aValue;
fblubb := Length(aValue);
end;
dann macht es einen Unterschied ob Du fTest direkt setzt oder es über das Property
Test machst.
Im ersten Fall würde "nur" ein neuer String in fTest stehen. Im zweiten wird aber auf fblubb geändert. Und wenn Du dich darauf verlassen möchtest das in fblubb immer die Stringlänge von fTest steht musst Du mit der Settermethode arbeiten (oder auch fblobb immer im Code setzen).
Stephan B.
"Lasst den Gänsen ihre Füßchen"