Thema: Pngimage

Einzelnen Beitrag anzeigen

Benutzerbild von Uwe Raabe
Uwe Raabe

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

AW: Pngimage

  Alt 10. Sep 2010, 07:37
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:

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? Nehmen wir an, Owner ist ein TPngImage (das hat nämlich ein InverseGamma). Wenn es ohne 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.
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat