AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Algorithmen, Datenstrukturen und Klassendesign Delphi Komponente mit Objekten, die Eigenschaften der Komponente benötigen
Thema durchsuchen
Ansicht
Themen-Optionen

Komponente mit Objekten, die Eigenschaften der Komponente benötigen

Ein Thema von Captnemo · begonnen am 18. Sep 2014 · letzter Beitrag vom 19. Sep 2014
 
Dejan Vu
(Gast)

n/a Beiträge
 
#18

AW: Komponente mit Objekten, die Eigenschaften der Komponente benötigen

  Alt 19. Sep 2014, 08:18
Entschuldigung. Die Begriffe waren von mir, so wie ich sie benannt hätte.

TLayoutTemplate = TEintrag
Template Layout Manager = Die Instanz von TEintragstypenList in deiner TUrlaubsplaner-Komponente.

Wenn Du also einen neuen Eintrag erstellst übergibst Du ihm deine EintragstypenList:
Delphi-Quellcode:
Procedure TUrlaubsplaner.AddEntry(aTypID : TEintragsTypID);
Var
  derNeueEintrag : TEintrag;

Begin
  derNeueEintrag := TEintrag.Create (EintragsTypenList);
  derNeueEintrag.EintragTypID := aTypID;
  EintragsList.Add(derNeueEintrag);
End;
...

Procedure TEintrag.Paint(...);
var
  vorlage : TEintrafsTyp;

Begin
  vorlage := fEintragsTypenList.FindByID(this.EintragTypID);
  ...
  // Zeichne mit den Farben, Schrifttyp etc. aus der 'vorlage'
End;
Du könntest theoretisch einem Eintrag auch gleich den ganzen TUrlaubsplaner mitgeben, aber das ist kein guter Stil, denn hier kennen sich dann zwei Klassen gegenseitig und das sollte vermieden werden (zirkuläre Abhängigkeit (*)).

So kennt der TUrlaubsplaner eine TEintragsTypenList und ein TEintrag kennt eine TEintragstypenList. Kein Zirkel, kein Problem.

(*) Aus diesem Grund mag ich auch keine TCollection.
  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 08:58 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