Einzelnen Beitrag anzeigen

shmia

Registriert seit: 2. Mär 2004
5.508 Beiträge
 
Delphi 5 Professional
 
#10

Re: Neue Komponente mit 2 TEdit Komponenten

  Alt 28. Mai 2009, 14:59
Zitat von oki:
1. Warum nicht durchgreifen?
Damit man innerhalb des Frames die Freiheit hat, etwas zu ändern.
Beispiel:
Das Edit-Control mit Namen EditKanal soll in eine HistoryCombobox (neuer Name CboKanal) umgewandelt werden.
Diese Änderung könnte mehrere Änderungen am Rest der Anwendung nach sich ziehen.
Wenn man dem Frame das Property "Kanal" gibt, dann beschränken sich die Änderungen auf das Frame.
Ausserdem zeigt man so explizit, was in das Frame rein- und rausgeht.

Zitat von oki:
2. Wenn die Propertys aller enthaltenen Controls abkapseln soll, dann kann er doch auch gleich ein CustomPanel nehmen und daraus eine Komponente mit den enthaltenen Edits usw. schreiben. Das Kapseln macht er dann über einen zentralen Wrapper. Den hat er schön im Inspektor und setzt mit einem Ruck die Eigenschaften aller enthaltenen Controls (z.B. Color, Font etc.).
Im Prinzip schon.
Aber ein Frame ist leichtgewichtig; man kann schnell mal etwas ändern und darf dann auch man direkt auf die innerliegenden Controls zugreifen.

Eine Komponente ist dagegen schwergewichtig; die innerliegenden Controls sind nicht direkt erreichbar.
Wenn man z.B. die Farbe eines inneren Controls von Aussen ändern möchte, dann muss man ein neues Property einführen.
Dazu muss man das Package neu kompilieren und kann dann erst in der Anwendung das neue Property benützen.
Und dann fällt einem ein, dass das mit der Farbe doch keine so tolle Idee war und man muss den Prozess wieder durchlaufen.
Ich schätze mal, dass eine Änderung an einer Komponente 5 Mal mehr Zeit benötigt, als eine Änderung an einem Frame.
Andreas
  Mit Zitat antworten Zitat