Frage : Png-Bild-Bibliothek, kann nicht mit D2010 kompilieren

Ich versuchte, die png-Bildbibliothek mit Delphi 2010 von http://pngdelphi.sourceforge.net zu kompilieren.
Compileranschläge, wegen können einen Wert nicht der Störung der linken Seite an dieser Linie zuweisen:

      Byte (Dest^): = fOwner.GammaTable [pByte (Longint (Src) + 2)^]; Inc. (DEST);

diese Bibliothek kompilieren und Durchlauf mit D7 ist kein Problem gewesen
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
Verfahren TChunkIDAT.CopyInterlacedRGB8 (const Durchlauf: Byte;
  Src, DEST, Transport {$IFDEF Store16bits}, Extra {$ENDIF}: pChar);
var
  Spalte: Ganze Zahl;
anfangen
  {Erste Spalte erhalten und in Schleife hereinkommen}
  Spalte: = ColumnStart [Durchlauf];
  DEST: = pChar (Longint (DEST) + Spalte * 3);
  Wiederholung
    {Diese Reihe kopieren}
    Byte (Dest^): = fOwner.GammaTable [pByte (Longint (Src) + 2)^]; Inc. (DEST);
    Byte (Dest^): = fOwner.GammaTable [pByte (Longint (Src) + 1)^]; Inc. (DEST);
    Byte (Dest^): = fOwner.GammaTable [pByte (Longint (Src)    ) ^]; Inc. (DEST);

    {Bewegung zur folgenden Spalte}
    Inc. (Src, 3);
    Inc. (DEST, ColumnIncrement [Durchlauf] * 3 - 3);
    Inc. (Spalte, ColumnIncrement [Durchlauf]);
  bis Spalte >= ImageWidth;
Ende;
Zubehöre:
 
png libarary
 
 
png libarary
 
 
png libarary
 
 
png libarary
 

Antwort : Png-Bild-Bibliothek, kann nicht mit D2010 kompilieren

pChar durch pByte ersetzen, es arbeitet wie ein Charme
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
Verfahren TChunkIDAT.CopyInterlacedRGB8 (const Durchlauf: Byte;
  Src, DEST, Transport {$IFDEF Store16bits}, Extra {$ENDIF}: pByte);
var
  Spalte: Ganze Zahl;
anfangen
  {Erste Spalte erhalten und in Schleife hereinkommen}
  Spalte: = ColumnStart [Durchlauf];
  DEST: = pByte (Longint (DEST) + Spalte * 3);
  Wiederholung
    {Diese Reihe kopieren}
    Dest^: = fOwner.GammaTable [pByte (Longint (Src) + 2)^]; Inc. (DEST);
    Dest^: = fOwner.GammaTable [pByte (Longint (Src) + 1)^]; Inc. (DEST);
    Dest^: = fOwner.GammaTable [pByte (Longint (Src)    ) ^]; Inc. (DEST);

    {Bewegung zur folgenden Spalte}
    Inc. (Src, 3);
    Inc. (DEST, ColumnIncrement [Durchlauf] * 3 - 3);
    Inc. (Spalte, ColumnIncrement [Durchlauf]);
  bis Spalte >= ImageWidth;
Ende;
Weitere Lösungen  
 
programming4us programming4us