Einzelnen Beitrag anzeigen

Benutzerbild von Cyberaxx
Cyberaxx

Registriert seit: 15. Jul 2005
311 Beiträge
 
Delphi XE5 Professional
 
#1

Collection in einem ColectionItem

  Alt 26. Feb 2007, 23:23
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
Daniel
Das Aufwachen aus einem boesen Traum muss einen nicht erleichtern. Es kann einen auch erst richtig gewahr werden lassen, was man Furchtbares getraeumt hat, vielleicht sogar welcher furchtbaren Wahrheit man im Traum begegnet ist!
  Mit Zitat antworten Zitat