Forum: Algorithmen, Datenstrukturen und Klassendesign
by Jonas Shinaniganz,
8. Nov 2012
Folgendes kommt aus der Delphi Referenz:
Also wenn ich immer meine Objekte von TFischer / TMeier aus der Liste mit RemoveSubscriber entferne und auch selbst den Speicher von allen erzeugten Objekten wieder Freigebe dann sollte ich doch keine Probleme bekommen oder?
Allerdings schaffe ich es nicht, dass meine Objekte sich automatisch (zb im destructor) aus der Liste austragen, so wie mein...
Forum: Algorithmen, Datenstrukturen und Klassendesign
by Jonas Shinaniganz,
8. Nov 2012
Okay ich habe scheinbar die IInterfaces noch nicht ganz verstanden.
Hier ist mein Konzept:
type
TNewspaper = class
private
FTitle : String;
Forum: Algorithmen, Datenstrukturen und Klassendesign
by Jonas Shinaniganz,
8. Nov 2012
Ich wollte eigentlich nur bessere Namen für die Add / Remove Methoden erzielen. Vielleicht sollte Ich die TObjectList besser als Feld meiner TPublisher Klasse deklarieren, ich denke, dann trifft es eher die Art, wie ich sie mir in meinem Konzept ausgedacht habe.
TPublisher
private
Subscribers : TList;
public
procedure AddSubscriber(Subscriber : ISubscriber);
procedure...
Forum: Algorithmen, Datenstrukturen und Klassendesign
by Jonas Shinaniganz,
8. Nov 2012
Ja "OwnsObjects bei interfaces" . Das wäre nett.
Aber ich merke schon an der Art deines Posts, da will ich scheinbar zu viel / etwas was nicht möglich ist. Auf das ich mit nachdenken wohl auch selbst kommen sollte.
;)
Forum: Algorithmen, Datenstrukturen und Klassendesign
by Jonas Shinaniganz,
8. Nov 2012
Liegt das einfach daran, das Add und Sub aus IMath und _AddRef, _Release und QueryInterface aus IInterface dort nicht implementiert sind?
Ich wollte doch auchnoch das Typecasting umgehen. Ach Ich sehe grade, du verwendest auch die generische TList. Okay gut.
Und wenn Ich jetzt noch sowas wie OwnsObjects haben möchte? Selbst schreiben?
Forum: Algorithmen, Datenstrukturen und Klassendesign
by Jonas Shinaniganz,
8. Nov 2012
Eine kurze Frage zum Thema.
Wie muss Ich meinen Code ändern damit der "Publisher" Elemente, welche das Interface "ISubscriber" implementieren, aufnimmt?
ISubscriber = interface
procedure GetNewspaper(Newspaper : TNewspaper);
end;