Einzelnen Beitrag anzeigen

Patito

Registriert seit: 8. Sep 2006
108 Beiträge
 
#8

AW: Komponenten mit dem Formular-Designer entwerfen

  Alt 12. Mär 2014, 16:11
Mein Ziel: Ich möchte, ausgehend von einem TFrame, eine eigene VCL-Komponente erstellen. Mit eigenen Properties und Event-Handler.

Ich würde mich freuen wenn mir jemand erklären kann warum das benutzende Projekt die DFM zur Kompilierzeit kennen muss. Und ob ich den Kompilierhinweis abstellen oder beruhigt ignorieren kann.
Ich habe eine Zeit lang mit Frame-Komponenten gearbeitet. Im Vergleich zu normalen Frames war das damals schon eine Verbesserung (die Dinger sind weniger fragil). Aber irgendwann war mir der Haufen an abhängigen Packages, die mehrfach verschachtelten Komponenten produzieren zu viel und ich bin dann auf ganz andere Techniken umgestiegen... Mal sehen woran ich mich noch erinnere..

Also das .dfm braucht z.B. der Compiler für die Komponente, da darin ja die Properties der Controls im Frame stehen.
Ohne die Informationen geht nix. Bei einem Formular in einem Package ist das genauso. Ohne Positions-Informationen
sähe so ein Formular wirklich nicht gut aus.

Komerzielle Packages ohne Sourcecode haben deshalb auch immer die nötigen .DFMs bei den .DCUs dabei.

Da man beim Entwickeln .pas und das .dfm schlecht in unterschiedliche Pfade legen kann,
wird man bei Frame-Komponenten leider dahin genötigt den ganzen Sourcecode in den Library-Pfad zu stellen.

Wenn man die dfm kopiert hat man sie doppelt auf dem Rechner und das produziert auf ganz natürliche Art und Weise
Ärger.

Arbeitet man ausserdem in einem Projekt, das den Frame selbst enthält sieht der Compiler das DFM vermutlich doppelt.
Also: Frame als Komponente -> Frame aus den Projekten entfernen und nur im Package der Komponente bearbeiten.
  Mit Zitat antworten Zitat