Entwickler-Ecke
Grafische Benutzeroberflächen (VCL & FireMonkey) - Ersetzen einer Komponente durch Ändern der DFM
Stefan S. - Mi 11.04.07 15:37
Titel: Ersetzen einer Komponente durch Ändern der DFM
Vielleicht hat jemand vor ein paar Monaten mein "Highlight-Panel"-Problem mitbekommen. Ich benutze jetzt einfach eine von TPanel abgeleitete Komponente THighlightPanel, die zusätzlich über die Ereignisse OnMouseEnter und OnMouseLeave verfügt (die die Panels in D5 so noch nicht haben).
Jetzt hab ich noch einige ältere Projekte, in denen ich die unsaubere Methode mit einem ständig laufenden Timer angewendet habe und will da diese Komponente einsetzen. Das hab ich jetzt gemacht, indem ich in der DFM-Datei des Formulars einfach jeweils "TPanel" durch "THighlightPanel" ersetzt und dann die Deklaration in der Unit angepasst habe. Funktioniert ohne Probleme. Ich hab aber schon öfters gelesen, dass man mit manuellen Änderungen in den Formulardateien aufpassen muss. Ist so etwas ungefährlich oder könnte ich mit einer einfachen Korrektur etwas durcheinander bringen? Und gibt es überhaupt einen anderen Weg, eine Komponente durch eine davon abgeleitete Komponente zu ersetzen?
mkinzler - Mi 11.04.07 16:41
Es gibt auch IDE-Tools, die das können. Wenn die ersetzte Komponenete alle Eigenschaften der ersetzen hat, dürfte es keine Probleme geben.
Coder - Mi 11.04.07 17:46
GExperts können Komponenten ersetzen und sind kostenlos.
Guck mal im Forum.
MfG
Stefan S. - Do 12.04.07 13:07
OK, ich hab mir die GExperts mal runtergeladen. Scheinen ganz praktisch zu sein. In dem einen Projekt, in dem ich die Komponenten schon durch Ändern der DFM ersetzt habe, lass ich das jetzt aber, sind ja keine dadurch entstandene Probleme ersichtlich.
alias5000 - Do 12.04.07 13:26
In der dazugehörigen pas- Datei musst du die Komponentendeklaraiton aber normalerweise dann auch noch ändern ;)
Gruß
alias5000
Stefan S. - Do 12.04.07 14:42
Titel: Re: Ersetzen einer Komponente durch Ändern der DFM
Stefan S. hat folgendes geschrieben: |
| Das hab ich jetzt gemacht, indem ich in der DFM-Datei des Formulars einfach jeweils "TPanel" durch "THighlightPanel" ersetzt und dann die Deklaration in der Unit angepasst habe. |
Alles klar? ;)
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!