Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Vorlautes Grafikformat (TPicture.RegisterFileFormat) (https://www.delphipraxis.net/101410-vorlautes-grafikformat-tpicture-registerfileformat.html)

Ralf Kaiser 12. Okt 2007 17:19


Vorlautes Grafikformat (TPicture.RegisterFileFormat)
 
Hallo zusammen,

in einem Projekt verwende ich PNG-Grafiken. Dazu sind die PNGComponents installiert. Zusätzlich ist in der IDE noch die 5er-Version der ExpressBars von DevExpress installiert. Die ExpressBars benötige ich aber in diesem Projekt nicht.

Wenn ich nun eine PNG-Grafik in ein Image lade dann sehe ich im Filter-Dropdown, dass 2 verschiedene PNG-Formate installiert sind (einmal das aus den PNGComponents mit der Beschreibung "Portable Network Graphics" und einmal das aus den ExpressBars mit der Beschreibung "PNG Graphics from DevExpress").

Das ist klar denn in beiden Packages (PNGComponents und irgendwo bei ExpressBars) wird ein TPicture.RegisterFileFormat ausgeführt. Soweit so gut...

Allerdings wird die einzufügende PNG-Grafik immer als TdxPngImage in das Formular übernommen, was mir in diesm Fall garnicht zusagt. Das hat nämlich zur Folge, dass auch die Unit in der dieses Grafikformat definiert ist automatisch in der USES-Liste auftaucht.

Irgendwie "drängelt" sich das ExpressBars-PNG-Format immer in den Vordergrund. Weiss der Geier warum.

Kann es sein, dass die IDE die Packages alphabetisch geordnet lädt und initialisiert und darum dieses Grafikformat immer als erstes drankommt? Hat jemand eine Ahnung wie man die Reihenfolge beeinflussen kann? (die Packages zu modifizieren halte ich für keine gute Idee, das mache ich generell bei 3rd Party Packages nicht)

Danke schonmal,
Ralf

turboPASCAL 12. Okt 2007 17:44

Re: Vorlautes Grafikformat (TPicture.RegisterFileFormat)
 
Wie das sich in der IDE sortiert kann ich nun nicht sagen, steht aber in "Strg + Umschalt + F11" << Packages >>
:stupid:

Einfach die Pack's ausschalten die du nicht brauchst und Delphi neu starten.
Damit sollte sich die nicht benötigte Unit nicht mehr vordrengeln.

// Edit's: der Beitragseditor nervt mir...

Ralf Kaiser 12. Okt 2007 18:27

Re: Vorlautes Grafikformat (TPicture.RegisterFileFormat)
 
Zitat:

Zitat von turboPASCAL
Einfach die Pack's ausschalten die du nicht brauchst und Delphi neu starten.
Damit sollte sich die nicht benötigte Unit nicht mehr vordrengeln.

Ich hatte vergessen zu erwähnen, dass sich in der selben Projektgruppe auch Projekte befinden, die das ExpressBars-Zeuch (noch) verwenden. Jedesmal wenn ich eines dieser Projekte bearbeite sind die ExpressBArs global wieder eingeschaltet. Ich verwende RAD Studio. Allerdings meine ich mich erinnern zu können, dass man die Packages mal Projektbezogen ein und ausschalten konnte (wie du schon sagtes). Irgendwie schein RAD Studio innerhalb einer Projektgruppe damit Probleme zu haben. Komisch (muss ich mal bei Gelegenheit mit D7 oder D2005 ausprobieren)

Assertor 18. Sep 2009 11:50

Re: Vorlautes Grafikformat (TPicture.RegisterFileFormat)
 
Hi Alfi001,

ich muß diesen alten Thread mal auskramen, da ich genau das gleiche Problem habe. Hast Du das Problem damals irgendwie lösen können? Ich editiere jetzt jedes mal manuell die DFMs.

Gruß Assertor

Ralf Kaiser 18. Sep 2009 12:02

Re: Vorlautes Grafikformat (TPicture.RegisterFileFormat)
 
Hallo,

leider habe ich bisher keine Lösung dafür gefunden.

Allerdings hat sich das Problem für mich erledigt, da ich mittlerweile die dxBar-Komponenten aus der gesamten Projektgruppe entfernt habe. Die wurden da noch benutzt weil ich noch nicht alle Projekte umgestellt hatte, was jetzt aber der Fall ist. So konnte ich diese danach komplett entfernen (Problem zwar nicht gelöst aber entfernt :wink: )

Leider kann ich, ausser dem manuellen editieren der DFMs wie du es machst, keine andere Lösung anbieten...

Cioa,
Ralf

Assertor 18. Sep 2009 12:08

Re: Vorlautes Grafikformat (TPicture.RegisterFileFormat)
 
Hallo Ralf,

Zitat:

Zitat von Alfi001
leider habe ich bisher keine Lösung dafür gefunden.

Allerdings hat sich das Problem für mich erledigt, da ich mittlerweile die dxBar-Komponenten aus der gesamten Projektgruppe entfernt habe. Die wurden da noch benutzt weil ich noch nicht alle Projekte umgestellt hatte, was jetzt aber der Fall ist. So konnte ich diese danach komplett entfernen (Problem zwar nicht gelöst aber entfernt :wink: )

Leider kann ich, ausser dem manuellen editieren der DFMs wie du es machst, keine andere Lösung anbieten...

Ok, trotzdem vielen Dank für Deine schnelle Antwort! Leider kann ich diesen Weg nicht gehen, da in diesem Projekt die dxRibbons verwendet werden sollen.

Edit: Ich habe eine einfache Lösung gefunden. In dxGDIPlusClasses die Zeilen TPicture.RegisterFileFormat(...) und TPicture.UnregisterGraphicClass(TdxPNGImage) auskommentieren. Alle Packages neukompilieren und installieren und nun geht TPngImage auch wieder.

Gruß Assertor


Alle Zeitangaben in WEZ +1. Es ist jetzt 21:35 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz