Vraag : De Lib van het Beeld van PNG, kan niet met D2010 compileren

Ik probeerde om de het beeldLib van PNG met Delphi 2010 uit http://pngdelphi.sourceforge.net te compileren.
De einden van de compiler, wegens kunnen geen waarde aan de linkerkantfout bij deze lijn toewijzen:

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

compileer dat de Lib en de looppas met D7 geen probleem zijn geweest
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
procedure TChunkIDAT.CopyInterlacedRGB8 (const Pas: Byte;
  Src, Dest, trans {$IFDEF Store16bits}, extra {$ENDIF}: pChar);
var
  Col.: Geheel;
begin
  {Krijg eerste kolom en ga in lijn binnen}
  Col.: = ColumnStart [Pas];
  Dest: = pChar (Longint (Dest) + Col. * 3);
  herhaal
    {Kopi�ër deze rij}
    Byte (Dest^): = fOwner.GammaTable [pByte (Longint (Src) + 2) ^]; n.v. (Dest);
    Byte (Dest^): = fOwner.GammaTable [pByte (Longint (Src) + 1) ^]; n.v. (Dest);
    Byte (Dest^): = fOwner.GammaTable [pByte (Longint (Src)    ) ^]; n.v. (Dest);

    {Beweging aan volgende kolom}
    n.v. (Src, 3);
    n.v. (Dest, ColumnIncrement [Pas] * 3 - 3);
    n.v. (Col., ColumnIncrement [Pas]);
  tot Col. >= ImageWidth;
eind;
Gehechtheid:

Antwoord : De Lib van het Beeld van PNG, kan niet met D2010 compileren

Vervang pChar door pByte, zal het als een charme werken
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
procedure TChunkIDAT.CopyInterlacedRGB8 (const Pas: Byte;
  Src, Dest, trans {$IFDEF Store16bits}, extra {$ENDIF}: pByte);
var
  Col.: Geheel;
begin
  {Krijg eerste kolom en ga in lijn binnen}
  Col.: = ColumnStart [Pas];
  Dest: = pByte (Longint (Dest) + Col. * 3);
  herhaal
    {Kopi�ër deze rij}
    Dest^: = fOwner.GammaTable [pByte (Longint (Src) + 2) ^]; n.v. (Dest);
    Dest^: = fOwner.GammaTable [pByte (Longint (Src) + 1) ^]; n.v. (Dest);
    Dest^: = fOwner.GammaTable [pByte (Longint (Src)    ) ^]; n.v. (Dest);

    {Beweging aan volgende kolom}
    n.v. (Src, 3);
    n.v. (Dest, ColumnIncrement [Pas] * 3 - 3);
    n.v. (Col., ColumnIncrement [Pas]);
  tot Col. >= ImageWidth;
eind;
Andere oplossingen  
 
programming4us programming4us