Hallo,
ich habe da eine Klasse, die eine weitere Klasse enthält. Beispiel:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18:
| type TClass1 = class private FVar1: TSomething; FVar2: TSomething; procedure SetVar1(Value: TSomething); procedure SetVar2(Value: TSomething); public Var1: TSomething read FVar1 write SetVar1; Var2: TSomething read FVar2 write SetVar2; end;
TClass2 = class private FClass1: TClass1; public Class1: TClass1 read FClass1 write FClass1; end; |
So, jetzt habe ich den Code:
Delphi-Quelltext
1: 2: 3: 4: 5:
| var Class2: TClass2; begin Class2 := TClass2.Create; Class2.Class1.Var1 := Something; |
Was passiert da? Wird dann wirklich NUR der Wert von Class2.Class1.Var1 geändert, oder wird die gesamte Klasse (Class1) neu initialisiert? Und noch was: ich will so was hier machen:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7:
| TClass2 = class private FClass1: TClass1; SetClass1(Value: TClass1); public Class1: TClass1 read FClass1 write SetClass1; end; |
Was muss jetzt in SetClass1() stehen, damit ich auch NUR das in Class1 ändere, was ich im code angebe? Wenn ich jetzt
Delphi-Quelltext
reinschreibe, wird dann wirklich nur Class2.Class2.SetVar1() aufgerufen, oder wird Class1 komplett neu geschreiben???
Ich hoffe, ich habe mich einigermaßen verständlich ausgedrückt...