AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

TImage zeigt keine PNG Bilder an

Ein Thema von PhilmacFLy · begonnen am 18. Okt 2013 · letzter Beitrag vom 19. Okt 2013
Antwort Antwort
Seite 1 von 2  1 2      
Benutzerbild von PhilmacFLy
PhilmacFLy

Registriert seit: 20. Jan 2008
Ort: Nürnberg
340 Beiträge
 
FreePascal / Lazarus
 
#1

TImage zeigt keine PNG Bilder an

  Alt 18. Okt 2013, 11:36
Delphi-Version: XE2
Mein XE3 verhält sich mal wieder sehr komisch, und zwar passiert folgendes:
Wenn ich ein TImage auf meine Form lege und ein jpg Bild rein lade funktioniert alles wunderbar,
wenn ich aber nun ein PNG Bild lade wird mir dieses zwar zur Designzeit angezeigt aber beim ausführen nicht mehr.
Woran kann das liegen?
Philipp N.
"Programmiern ist wie küssen:
Mann kan darüber reden, mann kann es beschreiben,
aber man weiss erst, was es bedeutet,
wenn man es getan hat"
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.006 Beiträge
 
Delphi 12 Athens
 
#2

AW: TImage zeigt keine PNG Bilder an

  Alt 18. Okt 2013, 11:54
Du brauchst Vcl.Imaging.pngimage irgendwo in der Uses-Anweisung, dann wird PNG-Support mit eingebunden. Die IDE hat das über das Designtime-Package schon drin.
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
Benutzerbild von PhilmacFLy
PhilmacFLy

Registriert seit: 20. Jan 2008
Ort: Nürnberg
340 Beiträge
 
FreePascal / Lazarus
 
#3

AW: TImage zeigt keine PNG Bilder an

  Alt 18. Okt 2013, 11:59
Ist bereit eingebunden halt nur als pngimage zeigt aber auf das selbe.
Philipp N.
"Programmiern ist wie küssen:
Mann kan darüber reden, mann kann es beschreiben,
aber man weiss erst, was es bedeutet,
wenn man es getan hat"
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.171 Beiträge
 
Delphi 10.4 Sydney
 
#4

AW: TImage zeigt keine PNG Bilder an

  Alt 18. Okt 2013, 12:24
Hast du evtl. weitere Komponentensammlungen installiert die PNG-Support mitbringen.
Im gespeicherten Stream der DFM steht am Anfang der Komponentenname der für die PNG-Anzeige zuständig ist.
Wenn nun in der IDE ein anderer PNG-Imageviewer zusätzlich installiert ist schreibt dieser dann seine "Signatur" rein. Damit kann dan die eompilierte Exe dann nichts mehr anfangen weil dort nur der Standard-Viewer sich registriert.
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
Benutzerbild von PhilmacFLy
PhilmacFLy

Registriert seit: 20. Jan 2008
Ort: Nürnberg
340 Beiträge
 
FreePascal / Lazarus
 
#5

AW: TImage zeigt keine PNG Bilder an

  Alt 18. Okt 2013, 15:55
Ich denke daran wirds liegen, weil ich noch eine Komponente für PNGButtons benutze, und außerdem das Projekt mal ein Delphi 2005 Projekt war, wie fix ich das am besten?

Edit: Was mir noch aufgefallen ist: Bilder zur Laufzeit laden geht!
Philipp N.
"Programmiern ist wie küssen:
Mann kan darüber reden, mann kann es beschreiben,
aber man weiss erst, was es bedeutet,
wenn man es getan hat"
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

AW: TImage zeigt keine PNG Bilder an

  Alt 18. Okt 2013, 16:37
Edit: Was mir noch aufgefallen ist: Bilder zur Laufzeit laden geht!
Ja, da nimmt er dann die Komponente, welche aktuell (in der EXE) registriert ist.

Zur DFM wird aber explizit der Klassenname gespeichert, wovon aber der Typ scheinbar nicht einkompiliert wurde.
In der IDE sind aber dennoch alle Klassen registiert, welcher grade als Package dort geladen sind.

Hier mußt du entweder dafür sorgen, daß diese "böse" PNG-Klasse aus den Packages des Projekts ausgeschlossen werden.
(z.B. Package deinstallieren oder Delphi-Referenz durchsuchenUnregisterClass in einem registrierten Package aufrufen, nachdem die "böse" PNG-Klasse registriert wurde)

Oder du definierst dir ein Alias für deine "neue" PNG-Klasse, registierst sie vor dem Laden der DFM und leitest so den Namen der "anderen" Klasse auf die "neue" Klasse um.
Delphi-Referenz durchsuchenRegisterClassAlias (geht nur, wenn die Klassen in den betreffenden Punkten kompatibel sind, ansonsten braucht man z.B. noch einen Wrapper als Zwischenschicht)
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests

Geändert von himitsu (18. Okt 2013 um 16:54 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.006 Beiträge
 
Delphi 12 Athens
 
#7

AW: TImage zeigt keine PNG Bilder an

  Alt 18. Okt 2013, 16:40
weil ich noch eine Komponente für PNGButtons benutze
Welche denn?
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
Benutzerbild von PhilmacFLy
PhilmacFLy

Registriert seit: 20. Jan 2008
Ort: Nürnberg
340 Beiträge
 
FreePascal / Lazarus
 
#8

AW: TImage zeigt keine PNG Bilder an

  Alt 19. Okt 2013, 12:15
weil ich noch eine Komponente für PNGButtons benutze
Welche denn?
TPNGButton:
http://sourceforge.net/projects/pngdelphi2/
Philipp N.
"Programmiern ist wie küssen:
Mann kan darüber reden, mann kann es beschreiben,
aber man weiss erst, was es bedeutet,
wenn man es getan hat"
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

AW: TImage zeigt keine PNG Bilder an

  Alt 19. Okt 2013, 12:31
Ein bissl übertrieben diese Komponente?

Die bringt ihr eigenes PNG und ZLIB mit.


[edit]
Nimm diese Komponente, schmeiß die Units pngimage und zlib weg, und fertig.
Wer will, kann pngimage in Vcl.Imaging.pngimage umbenennen und das TPNGObject in TPngImage ersetzen.
Ob dann alles Funktiont, kann ich nicht sagen, aber es kompiliert schonmal problemlos und ohne Warnungen oder Hinweise.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests

Geändert von himitsu (19. Okt 2013 um 12:41 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.171 Beiträge
 
Delphi 10.4 Sydney
 
#10

AW: TImage zeigt keine PNG Bilder an

  Alt 19. Okt 2013, 12:37
Ein bissl übertrieben diese Komponente?

Die bringt ihr eigenes PNG und ZLIB mit.
Wieso übertriben? PNG und ZLIB ist nicht bei allen Delphi-Versionen dabei die von der Komponente unterstützt werden.
Wer Lust und Zeit hat kann diese Komponente ja soweit anpassen das sie bei neueren Delphi-Versionen die mitgelieften PNG und ZLIB-Units verwendet oder einfach selbst im Code eine weiche der Art

Delphi-Quellcode:
type
{$IFDEF DELPH_10_UP}
  TMyPNG = <TPNG_von_Delphi>;
{$ELSE }
  TMyPNG = <TPNG_von_PNGDelphi>;
{$ENDIF}
verwenden
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:20 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