Pergunta : O liberal da imagem do png, não pode compilar com D2010

Eu tentei compilar o liberal da imagem do png com delphi 2010 de http://pngdelphi.sourceforge.net.
Os batentes do compilador, por causa do não podem atribuir um valor ao erro do lado esquerdo nesta linha:

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

compilar esse liberal e o funcionamento com o D7 não foi nenhum problema
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
procedimento TChunkIDAT.CopyInterlacedRGB8 (passagem do const: Byte;
  Src, Dest, transporte {$IFDEF Store16bits}, extra {$ENDIF}: pChar);
var
  Coluna: Inteiro;
começar
  {Começ a primeira coluna e a entrar no laço}
  Coluna: = ColumnStart [passagem];
  Dest: = pChar (Longint (Dest) + coluna * 3);
  repetição
    {Copiar esta fileira}
    Byte (Dest^): = ^ de fOwner.GammaTable [pByte (Longint (Src) + 2)]; inc (Dest);
    Byte (Dest^): = ^ de fOwner.GammaTable [pByte (Longint (Src) + 1)]; inc (Dest);
    Byte (Dest^): = ^ de fOwner.GammaTable [pByte (Longint (Src    ))]; inc (Dest);

    {Movimento à coluna seguinte}
    inc (Src, 3);
    inc (Dest, ColumnIncrement [passagem] * 3 - 3);
    inc (coluna, ColumnIncrement [passagem]);
  até o >= ImageWidth da coluna;
extremidade;
Acessórios:
 
png libarary
 
 
png libarary
 
 
png libarary
 
 
png libarary
 

Resposta : O liberal da imagem do png, não pode compilar com D2010

Substituir pChar pelo pByte, ele trabalhará como um encanto
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
procedimento TChunkIDAT.CopyInterlacedRGB8 (passagem do const: Byte;
  Src, Dest, transporte {$IFDEF Store16bits}, extra {$ENDIF}: pByte);
var
  Coluna: Inteiro;
começar
  {Começ a primeira coluna e a entrar no laço}
  Coluna: = ColumnStart [passagem];
  Dest: = pByte (Longint (Dest) + coluna * 3);
  repetição
    {Copiar esta fileira}
    Dest^: = ^ de fOwner.GammaTable [pByte (Longint (Src) + 2)]; inc (Dest);
    Dest^: = ^ de fOwner.GammaTable [pByte (Longint (Src) + 1)]; inc (Dest);
    Dest^: = ^ de fOwner.GammaTable [pByte (Longint (Src    ))]; inc (Dest);

    {Movimento à coluna seguinte}
    inc (Src, 3);
    inc (Dest, ColumnIncrement [passagem] * 3 - 3);
    inc (coluna, ColumnIncrement [passagem]);
  até o >= ImageWidth da coluna;
extremidade;
Outras soluções  
 
programming4us programming4us