Autor Beitrag
dibi
Hält's aus hier
Beiträge: 2



BeitragVerfasst: Do 22.01.09 16:16 
Hallo zusammen!

In diesem Code

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
procedure TChunkIDAT.CopyInterlacedRGB8(const Pass: Byte;
  Src, Dest, Trans{$IFDEF Store16bits}, Extra{$ENDIF}: pChar); //xad
var
  Col: Integer;
begin
  {Get first column and enter in loop}
  Col := ColumnStart[Pass];
  Dest := pChar(Longint(Dest) + Col * 3);
  repeat
    {Copy this row}
    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);
...

kommt es bei den Byte(Dest^)-Zuweisungen zu einem Kompilierungsfehler (in Delphi 2009).

Da ich mich noch überhaupt nicht mit diesen Typkonversionen auskenne, hoffe ich, ihr könnt mir helfen...

Grüße und Dank

dIbI

PS: Der Source stammt von den TPNGSpeedButton Komponenten von Erik Stok www.nldelphi.com/cgi...ShowArticle?ID=16318
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19315
Erhaltene Danke: 1747

W11 x64 (Chrome, Edge)
Delphi 11 Pro, Oxygene, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: Fr 23.01.09 12:16 
Du musst die rechte Seite auf den Typ der linken casten. Das sollte also wohl so aussehen:
ausblenden Delphi-Quelltext
1:
Dest^ := Char(fOwner.GammaTable[pByte(Longint(Src) + 2)^]);					
Wobei ich ja nicht weiß was GammaTable ist.