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 Die nicht - BMP-Glyphs sind weg... :( (https://www.delphipraxis.net/138365-die-nicht-bmp-glyphs-sind-weg.html)

TheJeed 8. Aug 2009 18:55


Die nicht - BMP-Glyphs sind weg... :(
 
Hallo zusammen!

Ich habe heute das Betriebssystem auf meinem Entwicklungsrechner neu installiert und in Verbindung damit natürlich auch mein RAD Studio 2009. Als ich nun an meinem Projekt weiterarbeiten wollte stellte ich fest, dass auf den von mir verwendeten TJvXPButtons die Glyphs fehlen. Scheinbar hat es aber nur die PNGs erwischt - alle BMP-Glyphs sind erhalten geblieben.

Nu steht mir ein Haufen Rumgeklicke bevor.

Ich wollte Euch fragen ob Euch das Problem bekannt ist und wie man es verhindern kann. Könnte es damit zusammenhängen, dass ich mit dem neuen RAD Studio auch die neueste Version von JEDI CL/VCL installiert habe?

Ich kann mir das gerade nicht so erklären...

sx2008 8. Aug 2009 21:11

Re: Die nicht - BMP-Glyphs sind weg... :(
 
Du benötigst eine PNG-Komponente (ich vermute, die ist nicht im Lieferumfang von D2009).
Diese Komponente muss in einem Designtime Package installiert sein, damit Delphi zur Entwicklungszeit mit den PNG-Daten etwas anfangen kann.
Delphi hat ein Plugin Mechanismus für neue Grafikformate - nur wenn das Plugin zur Entwicklungszeit registriert ist,
kann man es auch benützen.

Bernhard Geyer 8. Aug 2009 21:35

Re: Die nicht - BMP-Glyphs sind weg... :(
 
Zitat:

Zitat von sx2008
Du benötigst eine PNG-Komponente (ich vermute, die ist nicht im Lieferumfang von D2009).

Doch. In D2009 ist eine PNG-Komponente vorhanden.

Jedoch ist vermutlich eine andere PNG-Komponente für diese PNG's verwendet. Kannst du einfach kontrollieren indem du kontrollierst wie die PNG's in den Glyphs gespeichert ist. In den ersten Bytes des Streams steht die Klasse (Hex-Codiert) welche verwendet wird. Was steht da? Ich tippe mal entweder auf die TPNGObject oder TLMDPNGObject.

Die Muhkuh 8. Aug 2009 22:22

Re: Die nicht - BMP-Glyphs sind weg... :(
 
in delphi 2009 ist TPNGObject integriert, weswegen auch damals die Sourcen davon verschwanden.

Bernhard Geyer 8. Aug 2009 22:32

Re: Die nicht - BMP-Glyphs sind weg... :(
 
Zitat:

Zitat von Die Muhkuh
in delphi 2009 ist TPNGObject integriert, weswegen auch damals die Sourcen davon verschwanden.

Die Frage ist ob die Klasse immer noch TPNGObject heißt oder z.B. nach TPNGImage umbenannt wurde ...

Uwe Raabe 9. Aug 2009 09:35

Re: Die nicht - BMP-Glyphs sind weg... :(
 
Zitat:

Zitat von Bernhard Geyer
Die Frage ist ob die Klasse immer noch TPNGObject heißt oder z.B. nach TPNGImage umbenannt wurde ...

Genau das ist der Fall! Damit kann man zwar immer noch PNG-Dateien in den File-Dialogen öffnen, aber in DFMs enthaltene TPNGObjects werden nicht mehr geladen. Am einfachsten installierst du die PngComponents für Delphi 2009, die einen entsprechenden Fix enthalten.

Alternative:
Sorge dafür, daß folgender Code zur Runtime und DesignTime (i.e. in einem DesignTime-Package) ausgeführt wird.

Delphi-Quellcode:
type
  TPNGObject = class(TPngImage);
begin
  TPicture.RegisterFileFormat('', '', TPNGObject);
end;


Alle Zeitangaben in WEZ +1. Es ist jetzt 00:57 Uhr.

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