Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi TClassList Wie MyClass hinzufügen? (https://www.delphipraxis.net/150486-tclasslist-wie-myclass-hinzufuegen.html)

khamulvsbombadil 18. Apr 2010 15:34


TClassList Wie MyClass hinzufügen?
 
Hallo Leute,

Ich beschäftige mich zum ersten mal mit TClassList und leider fand ich im INet wenige Infos.
Folgendes ist mein Problem:
Ich habe eine Klasse TMyClass, welche Infos über Daten enthält, und wollte Instanzen (hoffe, dieses Wort ist hier richtig^^) davon in eine Liste packen.

Folgender Codeausschnitt mal zum Verständnis:

Delphi-Quellcode:
TMyClass = class
 private
   ...
 public
   ...
end;
TMyProgramm = class(TForm);
 procedure MyClassAufbereitung;

var ...
    MyClassListe : TClassList;

procedure TMYProgramm.MyClassAufbereitung;
var MyClassData:TMyClass;
    i:integer;
    DataPfadList:TStringList;
begin
 DataPfadList := TStringList.Create;
 DataPfadList.LoadFromFile('.\PfadListe.txt');
 MyClassListe := TClassList.Create;
 for i:=0 to DataPfadList.count do
 begin
   MyClassData := TMyClass.Create;
    MyClassData.LoadInfos(DataPfadList.Strings[i]);
   MyClassListe.Add(MyClassData);                   //Hier tritt der Fehler auf
   MyClassData.Free;
 end;
end;
An der angegebenen Stelle im Code bekomme ich als Fehlermeldung
Zitat:

Inkompatible Typen: 'TClass' und 'TMyClass'
Meine TMyClass funktioniert in sich super, meine Frage nun: Wie erstelle ich davon eine Liste, bzw. wo liegt mein Fehler?

Ich freue mich über Antwort und Danke schonmal im Vorraus,

Mit freundlichen Grüßen,
khamulvsbombadil

DeddyH 18. Apr 2010 15:38

Re: TClassList Wie MyClass hinzufügen?
 
Hallo und Willkommen in der DP :dp:,

ich selbst habe noch nie mit TClassList gearbeitet (und musste daher erst einmal nachlesen, was das überhaupt ist), aber wenn ich das richtig verstanden habe, bräuchtest Du stattdessen eine TObjectList, denn Du willst dort ja Instanzen hinterlegen und keine Klassen.

himitsu 18. Apr 2010 15:53

Re: TClassList Wie MyClass hinzufügen?
 
Ich vermute auch, daß du eigentlich eine TObjectList haben möchtest?

TClassList = Klassen
TObjektList = Objekte = instantiirte Klassen


PS: Die TClassList wird so versendet:
Delphi-Quellcode:
MyClassListe.Add(TMyClass);
Es wird also eine Liste mit Klassen erstellt. :angel:

DeddyH 18. Apr 2010 16:00

Re: TClassList Wie MyClass hinzufügen?
 
Ja eben, so hab ich das auch verstanden, für sein Vorhaben also nicht zu gebrauchen (sonst hätte er je Objekt TMyClass drinstehen, käme an die Objekte aber nicht heran) :zwinker:

khamulvsbombadil 18. Apr 2010 17:27

Re: TClassList Wie MyClass hinzufügen?
 
Hey,

Vielen Dank, das war es!!
Jetzt kanns weitergehen :coder:

Viele grüße,
khamulvsbombadil


Alle Zeitangaben in WEZ +1. Es ist jetzt 21:05 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