AGB  ·  Datenschutz  ·  Impressum  







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

von Tlist ableiten

Ein Thema von nebukadnezzar · begonnen am 17. Feb 2003 · letzter Beitrag vom 21. Feb 2003
Antwort Antwort
nebukadnezzar

Registriert seit: 18. Dez 2002
38 Beiträge
 
Delphi 6 Personal
 
#1

von Tlist ableiten

  Alt 17. Feb 2003, 21:02
Ich würde gerne eine Listenklasse die nur eine bestimmte Klasse aufnimmt.
Um genau zu sein eine Liste die den Typ Tplayer beherbergt.
(Tplayer ist von Tobject abgeleitet)

Nur wie mache ich das? - mir wär vielleicht auch schon geholfen wenn ich ein beispiel sehe in dem von Tlist abgeleitet wurde.
  Mit Zitat antworten Zitat
Touchdown

Registriert seit: 17. Feb 2003
227 Beiträge
 
#2
  Alt 17. Feb 2003, 21:37
TMeinelist (TList)
procedure meinadd ( Pointer : TPlayer );
end;


PS: Alle Klassen sind von TObject abgeleitet
  Mit Zitat antworten Zitat
nebukadnezzar

Registriert seit: 18. Dez 2002
38 Beiträge
 
Delphi 6 Personal
 
#3
  Alt 18. Feb 2003, 13:37
stimmt nicht ich kann auch komplett eine neue Klasse außerhalb der VCL hierachie erstellen
  Mit Zitat antworten Zitat
Benutzerbild von sakura
sakura

Registriert seit: 10. Jun 2002
Ort: München
11.412 Beiträge
 
Delphi 11 Alexandria
 
#4
  Alt 18. Feb 2003, 13:42
Zitat von nebukadnezzar:
stimmt nicht ich kann auch komplett eine neue Klasse außerhalb der VCL hierachie erstellen
Stimmt schon - TObject ist die Basisklasse aller Delphi-Klassen. Die VCL fängt erst bei TPersistent, Componenten bei TComponent an.

......
Daniel W.
Ich bin nicht zurück, ich tue nur so
  Mit Zitat antworten Zitat
nebukadnezzar

Registriert seit: 18. Dez 2002
38 Beiträge
 
Delphi 6 Personal
 
#5
  Alt 18. Feb 2003, 14:17
warum konnt ich dann ne Klasse

Delphi-Quellcode:
TmyClass = class
private
   id:byte;
   name:string;
.
.
public
.
.
   constructor create;
   destructor destroy;
end;
erstellen?
  Mit Zitat antworten Zitat
Benutzerbild von sakura
sakura

Registriert seit: 10. Jun 2002
Ort: München
11.412 Beiträge
 
Delphi 11 Alexandria
 
#6
  Alt 18. Feb 2003, 14:24
Weil Delphi die Klasse TObject automatisch erbt, wenn keine angegeben wird - warum wohl sonst

Zitat von Die Delphi Hilfe:
A class type declaration has the form

type className = class (ancestorClass)
memberList
end;

where className is any valid identifier, (ancestorClass) is optional, and memberList declares members--that is, fields, methods, and properties--of the class. If you omit (ancestorClass), then the new class inherits directly from the predefined TObject class.
P.S. Du solltest immer für den Destructor Destroy die override Direktive setzen, da dieser bereits in TObject als VIRTUAL definiert ist.
Delphi-Quellcode:
// DIE TOBJECT DEFINITION
TObject = class
    constructor Create;
    procedure Free;
    class function InitInstance(Instance: Pointer): TObject;
    procedure CleanupInstance;
    function ClassType: TClass;
    class function ClassName: ShortString;
    class function ClassNameIs(const Name: string): Boolean;
    class function ClassParent: TClass;
    class function ClassInfo: Pointer;
    class function InstanceSize: Longint;
    class function InheritsFrom(AClass: TClass): Boolean;
    class function MethodAddress(const Name: ShortString): Pointer;
    class function MethodName(Address: Pointer): ShortString;
    function FieldAddress(const Name: ShortString): Pointer;
    function GetInterface(const IID: TGUID; out Obj): Boolean;
    class function GetInterfaceEntry(const IID: TGUID): PInterfaceEntry;
    class function GetInterfaceTable: PInterfaceTable;
    function SafeCallException(ExceptObject: TObject;
      ExceptAddr: Pointer): HResult; virtual;
    procedure AfterConstruction; virtual;
    procedure BeforeDestruction; virtual;
    procedure Dispatch(var Message); virtual;
    procedure DefaultHandler(var Message); virtual;
    class function NewInstance: TObject; virtual;
    procedure FreeInstance; virtual;
    destructor Destroy; virtual;
  end;
P.P.S.: Das TObject nicht abgeleitet wird liegt an der, lt. Borland, Compiler-Magic.
Daniel W.
Ich bin nicht zurück, ich tue nur so
  Mit Zitat antworten Zitat
oki

Registriert seit: 30. Dez 2002
Ort: Brandshagen
1.819 Beiträge
 
Delphi 2007 Professional
 
#7
  Alt 18. Feb 2003, 15:40
Mal kurz ne Frage zwischendurch wenns erlaubt ist: Warum muß die Liste ausschließlich eine Klasse aufnehmen können?

Wenn Sie die benötigte aufnimmt ist doch ok!

Um verwechslungen zu Vermeiden kann mann ja einfach den Namen benutzen.

So etwa:
TPlayerList = class(TList) Gruß oki
  Mit Zitat antworten Zitat
Touchdown

Registriert seit: 17. Feb 2003
227 Beiträge
 
#8
  Alt 20. Feb 2003, 20:26
Eine TList nimmt keine Klassen auf sondern nur Instanzen von Klassen

Dein Beispiel ist vollkommen IO, man sollte Dinge so nennen, wonach man sie auch suchen würde ...
  Mit Zitat antworten Zitat
oki

Registriert seit: 30. Dez 2002
Ort: Brandshagen
1.819 Beiträge
 
Delphi 2007 Professional
 
#9
  Alt 21. Feb 2003, 10:04
Das das mit der Instanz kommt war mal wieder klar. Nun macht manns mal kurz und schon kat man die Quittung.

Gruß oki
  Mit Zitat antworten Zitat
Antwort Antwort


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 22:03 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz