Hallo,
wie stelle ich es richtig an das ich innerhalb eines CollectionItems eine Collection anlege?
Bisher habe ich folgendes:
Delphi-Quellcode:
Type
TUser = class (TCollectionItem)
private
FNick: String;
FDummy1: String;
FDummy2: String;
FUserID: String;
FAddress: String;
FServer: String;
FDummy3: String;
FName: String;
published
property Nick: String read FNick write FNick;
property Dummy1: String read FDummy1 write FDummy1;
property Dummy2: String read FDummy2 write FDummy2;
property UserID: String read FUserID write FUserID;
property Address: String read FAddress write FAddress;
property Server: String read FServer write FServer;
property Dummy3: String read FDummy3 write FDummy3;
property Name: String read FName write FName;
end;
Type
TUsers = class (TCollection)
private
function GetItem(Index: Integer): TUser;
public
function Add: TUser;
function AddEx(Name : String): TUser;
property Item[Index: Integer]: TUser read GetItem;
end;
implementation
{ TUsers }
function TUsers.Add: TUser;
begin
result := inherited Add as TUser;
end;
function TUsers.AddEx(Name: String): TUser;
begin
result := inherited Add as TUser;
result.Name := Name;
end;
function TUsers.GetItem(Index: Integer): TUser;
begin
result := inherited Items[Index] as TUser;
end;
Innerhalb des TUsers hätte ich jetzt noch gerne eine Collection von Channels, da jeder User in mehreren Channels sitzen kann.
Delphi-Quellcode:
Type
TChan = class (TCollectionItem)
private
FName: String;
published
property Name: String read FName write FName;
end;
Type
TChans = class (TCollection)
private
function GetItem(Index: Integer): TChan;
public
function Add: TChan;
property Item[Index: Integer]: TChan read GetItem;
end;
Wie füge ich diesen Teil am ehesten so ein das sie zusammen arbeiten?
Ich nutze z.Z. die Standard Create Methode von TUsers. Muß ich in der eingreifen damit ich meine Channels dort anlegen kann?
Ist das erste mal das ich mich damit rumschlage
Gruß
Daniel