AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Generics.TObjectList

Ein Thema von HJay · begonnen am 2. Nov 2012 · letzter Beitrag vom 2. Nov 2012
 
HJay

Registriert seit: 7. Dez 2009
172 Beiträge
 
Delphi XE7 Enterprise
 
#1

Generics.TObjectList

  Alt 2. Nov 2012, 09:39
Ich habe immer noch nicht verstanden, wie man mit der "neuen" Generics.TObjectList nun eine Liste definiert, die beliebige andere typisierte Listen aufnehmen kann.

Eine "alte" TObjectList konnte doch auch beliebige abgeleitete Klassen aufnehmen.

Code:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, Generics.Collections;

type
  TForm1 = class(TForm)
    Button1: TButton;
    procedure FormCreate(Sender: TObject);
    procedure Button1Click(Sender: TObject);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;


type
  TMyClass1 = class(TObject)
    Dummy : String;
  end;

  TMyClassList1 = class(TObjectList<TMyClass1>);

  TMyClass2 = class(TObject)
    Test : Integer;
  end;

  TMyClassList2 = class(TObjectList<TMyClass2>);

var
  Form1: TForm1;

  AMyClassList1 : TMyClassList1;
  AMyClassList2 : TMyClassList2;

  AObjectList : TObjectList<TObject>; // ???

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
begin
  AObjectList := AMyClassList1; // Compiler-Error
  AObjectList := AMyClassList2;
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
  AMyClassList1 := TMyClassList1.Create(True);
  AMyClassList2 := TMyClassList2.Create(True);
end;

end.
Wie muss man AObjectList deklarieren, damit die Variable Listenobjekte beider definierter Klassen MyClassList1,2 annehmen kann?

Ich habe eine (alte) Komponente, die eine Art graphische Tabelle darstellt und beliebige abgeleitete TObjectList annimmt. Ich verstehe nicht, wie man dieses alte Konzept mit der neuen Klasse verwendet.
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:09 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz