Moin Christoph,
ändere das mal wie folgt ab:
Delphi-Quellcode:
procedure TTest.SetArt(Value: TArt);
begin
if Value <> Art then
begin
// ÄNDERUNG
Art := Value;
end;
end;
Wenn die Property (nummer) mit Value gefüllt wird, wird automatisch die Methode SetArt wieder aufgerufen, und zwar endlos. Die Eigenschaft nummer ist ja nur ein Platzhalter für das interne Feld Art, und kann selber keinen Wert aufnehmen.
BTW: Um sich auch in fremden Sourcen zurechtzufinden, bzw. eigenen Sourcen für andere lesbarer zu gestalten, wäre es sinnvoll die Benennungskonventionen einzuhalten.
Das soll in diesem Falle heissen: Interne Felder sollten immer mit einem F beginnen.
Dann sieht man auch innerhalb der Komponente leichter auf was man zugreift.