Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu
Online

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.166 Beiträge
 
Delphi 12 Athens
 
#2

Re: Problem mit eigenen Komponenten

  Alt 20. Jul 2009, 09:34
Zitat von Punisher:
Ändere ich dann den Code im Konstruktor auf "font.Color := clred;" so sollte sich
das so auswirken, dass nach dem nächsten Kompilieren des Programmes, die Komponente rot dargestellt wird.
Das passiert nicht.
Nicht nur das Programm muß neu Kompiliert werden, sondern auch und vorallem das Package,
denn von alleine kommt der geänderte Code da nicht rein und Packages werden nicht automatisch neu kompiliert.

Zitat von Punisher:
Weiters sollte ein Neukompilieren des Packages sich so auswirken, dass die Komponente bereits
zur Designzeit rot auf dem Form dargestellt wird. Auch das passiert nicht. Erst wenn ich die Komponente neu auf dem Form
platziere wird sie rot dargestellt.
Das liegt wohl daran, daß in der .DFM die Farbe gespeichert wird, wenn sie vom Default abwicht.
Standarmäßig ist Default 0, also Schwarz.

wenn du es in der Komponente (im Package änderst), dann existiert also noch die vorrangige Angabe in der DFM (in den Formulardaten)

gib also in deiner Defnition das Default mit an, dann wird
A) die DFM kleiner (da diese dann nimmer mit drinseht) und
B) er nimmt vermutlich dann den Wert, welchen du dort setzt (da er ja nicht mehr vom DFM-Loader überschrieben wird)

Delphi-Quellcode:
TLabel1 = class(TLabel)
...
published
  { Published-Deklarationen }
  property Color: TColor default clGreen;
end;
Achtung: default setzt den Property nicht auf den Wert, sondern besagt nur, daß der Property-Wert nicht gespeichert werden soll, wenn er dem Default-Wert entspricht.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat