dibi - Do 22.01.09 16:16
Titel: E2064 Der linken Seite kann nichts zugewiesen werden
Hallo zusammen!
In diesem Code
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); var Col: Integer; begin Col := ColumnStart[Pass]; Dest := pChar(Longint(Dest) + Col * 3); repeat 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
http://www.nldelphi.com/cgi-bin/articles.exe/ShowArticle?ID=16318
jaenicke - Fr 23.01.09 12:16
Du musst die rechte Seite auf den Typ der linken casten. Das sollte also wohl so aussehen:
Delphi-Quelltext
1:
| Dest^ := Char(fOwner.GammaTable[pByte(Longint(Src) + 2)^]); |
Wobei ich ja nicht weiß was GammaTable ist.