Hallo,
ich beschäftige mich seit Kurzem mit Klassen und der Komponentenentwicklung.
Ich habe jetzt versucht, eine nicht-sichtbare Komponente zu schreiben. Diese enthält mehrere Klassen. Unter anderem eine, die ein published property besitzt, welches einen eigenen Typ aufweist. Dieser Typ ist in der selben unit definiert und von der klasse TOwnedCollection abgeleitet. (Dafür gibts auch einen propertyeditor). Dann sind noch Klassen für die entsprechenden Items in der Collection vorhanden..
Mein Problem ist jetzt eigentlich nur, dass ich nicht weiß, wie ich von einer der letzten Klassen aus auf eine Objekteigenschaft der ersten Klasse zugreifen kann bzw ob das überhaupt geht.
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33: 34: 35: 36: 37: 38: 39: 40: 41: 42: 43: 44: 45: 46: 47: 48: 49: 50: 51: 52: 53: 54: 55: 56: 57: 58: 59: 60: 61: 62: 63: 64: 65: 66: 67:
| type TButtonGroup2 = class; TGruppenItems = class; TButtonItem = class; TSBItem = class;
TButtonGroup2 = class(TComponent) [...] published
property GruppenItems: TGruppenItems read FGruppenItems write SetGruppenItems; property GroupIndex: integer read GetGroupIndex write SetGroupIndex default 0; end;
[...]
TButtonItem = class(TComponent) private [...] procedure SetSpeedButton(Value: TMyNewSpeedButton);
protected public constructor Create(AOwner: TComponent); override; destructor Destroy; override; published property SpeedButton: TMyNewSpeedButton read FMyNewSpeedButton write SetSpeedButton; end;
[...]
procedure TButtonItem.SetSpeedButton(Value: TMyNewSpeedButton);
begin
if (Value <> nil) and (Value.BtnGroupAssigned = false) then begin
FMyNewSpeedButton := Value; Value.GroupIndex := ??? Value.NotManual := true; Value.BtnGroupAssigned := true; Value.NotManual := false; end else FMyNewSpeedButton := nil; end;
[...] |
Vielen Dank schonmal =)
Daniel