Delphi-PRAXiS
Seite 2 von 3     12 3      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Pngimage (https://www.delphipraxis.net/154375-pngimage.html)

xZise 9. Sep 2010 20:40

AW: Pngimage
 
Vielleicht ist er verwirrt, da er nicht weiß ob er dein pngimage oder das von Delphi 2010 verwenden soll?

MfG
Fabian

-Phantom- 9. Sep 2010 20:46

AW: Pngimage
 
Ja welchen Code? Wenn ich die Unit nicht einbinde kommt kein Fehler, aber das Image wird nicht angezeigt wenn ich Pngimage einfüge kommt ein Error den ich schon geschrieben habe ! Ich brauche ja kein Code schreiben und das Pngimage einzufügen ?!

Uwe Raabe 10. Sep 2010 07:21

AW: Pngimage
 
Zitat:

Zitat von xZise (Beitrag 1048533)
Vielleicht ist er verwirrt, da er nicht weiß ob er dein pngimage oder das von Delphi 2010 verwenden soll?

Um das mal deutlich zu machen: die PngComponents in dem Link sind eine Komponentensammlung für D2009+, die selbst PngImage benötigt. Zu Zeiten vor D2009 (da gab's die noch bei www.thany.org) war eine Kopie von PngImage enthalten; seit D2009 ist PngImage Bestandteil von Delphi, deshalb fehlen die entsprechenden Units in PngComponents.

Für D2010 gilt also: Es gibt nur ein PngImage und das gehört zur Delphi Library.

Uwe Raabe 10. Sep 2010 07:37

AW: Pngimage
 
Zitat:

Zitat von -Phantom- (Beitrag 1048534)
Ja welchen Code? Wenn ich die Unit nicht einbinde kommt kein Fehler, aber das Image wird nicht angezeigt wenn ich Pngimage einfüge kommt ein Error den ich schon geschrieben habe ! Ich brauche ja kein Code schreiben und das Pngimage einzufügen ?!

Die einzige Code-Zeile, die du bisher rausgerückt hast ist diese:

Delphi-Quellcode:
Byte(Dest^) := Owner.InverseGamma[pByte(Longint(Src) + 2)^]; inc(Dest);
Woher sollen wir denn wissen, was Dest, Owner, und Src sind und was Owner.InverseGamma liefert?

Da der Code compiliert, wenn PngImage nicht eingebunden ist, liegt offensichtlich ein Problem mit gleichnamigen Identifiern vor. Das ist mit der Angabe der Code-Zeile, wo der Fehler vom Compiler bemängelt wird, allein nicht zu analysieren.

Oder doch? :glaskugel: Nehmen wir an, Owner ist ein TPngImage (das hat nämlich ein InverseGamma). Wenn es ohne
Delphi-Quellcode:
uses pngimage
compiliert, muss es noch eine andere Deklaration von TPngImage geben, die in dem Fall für Owner verwendet wird.

Dest ist offensichlich ein Pointer, aber auf was? Vermutlich nicht auf Byte (dann wäre der Cast überflüssig) sondern einen Char, denn PChar konnte man in früheren Delphi-Versionen einfach inkrementieren. Da aber Char in D2009+ zwei Byte groß ist, lässt der Compiler eine Zuweisung auf die gecastete Pointer-Dereferenz nicht zu.

Ergo: Die Deklaration von Dest scheint der Casus Cnactus zu sein!

Also entweder du zeigst uns deutlich mehr von deinem Code, oder du suchst alleine weiter.

-Phantom- 10. Sep 2010 13:02

AW: Pngimage
 
Das ist doch die Unit "pngimage.pas" Die hast du doch selber bestimmt oder nicht? Oder soll ich hier nun 1000 Zeiligen Code posten?

Uwe Raabe 10. Sep 2010 13:11

AW: Pngimage
 
Zitat:

Zitat von -Phantom- (Beitrag 1048703)
Das ist doch die Unit "pngimage.pas" Die hast du doch selber bestimmt oder nicht? Oder soll ich hier nun 1000 Zeiligen Code posten?

Jetzt wird mir allerdings einiges klar: Der Fehler taucht innerhalb PngImage.pas auf? Die sollte allerdings gar nicht übersetzt werden, da sie bereits als DCU vorliegt und kein Suchpfad auf die zugehörige PAS eingestellt sein sollte.

Ich vermute also, in deinem Suchpfad liegt eine PngImage.pas, die eventuell veraltet ist? Pack die mal irgendwohin, wo der Compiler sie nicht findet und dann versuch's nochmal.

-Phantom- 10. Sep 2010 13:17

AW: Pngimage
 
Der Fehler taucht nur auf wenn ich sie Extra einbinde. Wenn nicht dann kommen keine Fehler aber das Pngimage wird nicht angezeigt. Ich glaube der Fehler liegt bei der Komponente.

mkinzler 10. Sep 2010 13:19

AW: Pngimage
 
Es scheint so, als ob er die Version für eine alte Version findet und deshalb neu kompiliert. Entferne den Pfad, in dem du den Source kopierst hat, mal aus dem Bobliotheks-/Suchpfad der IDE

-Phantom- 10. Sep 2010 13:39

AW: Pngimage
 
Wenn ich das mache, kennt er doch die .dcu der Komponente nicht mehr? Ich weiß nun nicht genau welchen Pfad du meinst...

mkinzler 10. Sep 2010 13:46

AW: Pngimage
 
Doch, abe dann die "richtige" Version. Du benötigst die "alte" Version nicht, da diese Unit (zur D-Version passende) bereits Teil der VCL ist.

Zitat:

Zitat von Delphi-Hilfe
pngimage.TPngImageAus DE VCL Build
Inhaltsverzeichnis
1 Delphi-Informationen
2 C++-Informationen
3 Beschreibung
4 Siehe auch

Delphi-Informationen

von pngimage.pas

TPngImage = class(TGraphic)
Unit: pngimage

Typ: Klasse

Geerbte Klassen-Member: Member von pngimage.TPngImage

Klasseneigenschaften: Eigenschaften von pngimage.TPngImage

Klassenmethoden: Methoden von pngimage.TPngImage

Klassenfelder: Felder von pngimage.TPngImage

Klassenkonstruktoren und -destruktoren: Konstruktoren von pngimage.TPngImage

[Bearbeiten] C++-Informationen

von pngimage.hpp

TPngImage = class(TGraphic)


Unit: pngimage

Typ: Klasse

Geerbte Klassen-Member: Member von pngimage.TPngImage

Klasseneigenschaften: Eigenschaften von pngimage.TPngImage

Klassenmethoden: Methoden von pngimage.TPngImage

Klassenfelder: Felder von pngimage.TPngImage

Klassenkonstruktoren und -destruktoren: Konstruktoren von pngimage.TPngImage

[Bearbeiten] Beschreibung
TPngImage kapselt eine PNG-Grafik (Portable Network Graphics).




Mit TPngImage können Sie PNG-Grafiken (Portable Network Graphics) laden und bearbeiten. Ein PNG-Bild unterstützt Transparenz und eine Vielzahl von Komprimierungsoptionen. Es ist nicht erforderlich, die Klasse TPngImage direkt zu verwenden. Wenn Ihre Anwendung PNG-Bilder akzeptieren soll, fügen Sie einfach der uses-Liste die Unit pngimage hinzu. Dadurch gewährleisten Sie, dass das PNG-Grafikformat in der VCL registriert wird.

Zitat:

Ich weiß nun nicht genau welchen Pfad du meinst...
Den Pfad, auf dem du die alte Version installierst/entpackt hast.


Alle Zeitangaben in WEZ +1. Es ist jetzt 15:25 Uhr.
Seite 2 von 3     12 3      

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-2025 by Thomas Breitkreuz