Einzelnen Beitrag anzeigen

Klaus01

Registriert seit: 30. Nov 2005
Ort: München
5.771 Beiträge
 
Delphi 10.4 Sydney
 
#5

Re: TObjectlist.add bei Objecten mit Parametern im create Au

  Alt 2. Nov 2006, 14:24
Hallo Thomas,

danke für die schnelle Antwort:

Zitat:
- Die Definition von "feedBD: File Of TFeedSet" kann doch aus der Klasse raus, oder? In der Klasse willst du doch mit firstItem und LastItem auf die im Speicher vorhandenen Items zugreifen. Somit braucht diesen Filetype hier keiner. Diesen bräuchtest du nur lokal in der Lade/Speicher Methode zu deklarieren
.

feedDB ist eine Datei die ich bei der Erstellung des Object einlesen und daraus eine verkettet Liste machen will.
firstItem und lastItem beinhalten die Adresse des ersten und letzten Elements der verketten Liste.

Zitat:
-TfeedSet ist ein Record und kein Objekt, daher frage ich mich, wo bei dir ein Objekt instanziiert wird?
Das TFeedSet ein Record ist, ist mir bewußt. Es beschreibt den Datensatz der feedDB. (Da muß ich noch die Pointer rausschmeißen)

Zitat:
- Die beiden Zeiger (firstItem,lastItem:pointer;), sollten die nicht eher vom Typ PfeedSet sein anstatt untypisiert als Pointer?
Ich denke, daß dies nicht unbedingt sein muß, da die Zeiger nur Adressen beinhalte und nicht unbedingt von der Datenstruktur wissen müßen.

Zitat:
- Constructor und Destructor sind beide öffentlich (public). Du kannst sie nicht in eine geringere Sichtbarkeitsebene verschieben (private), daher musst du sie dort rausnehmen. Wenn die beiden Methoden private wären, dann könntest du ja niemals von aussen eine Klasse instanziieren oder freigeben.
Habe ich nicht bedacht, werde ich ändern.

Zitat:
Wieso änderst du nicht TFeedSet von einem Record in ein Objekt und entfernst die Pointer für die verkettete Liste.
Dann kannst du TFeedSet einen Constructor definieren mit den Parametern die du brauchst um das Objekt zu intialisieren.
Und TObjectList wäre dann auch nutzbar.
Danke, da werde ich intensiver darüber nachdenken und es gegebenenalls anpassen.

Grüße
Klaus
Klaus
  Mit Zitat antworten Zitat