1. Möglichkeit mit Bitmaske
Delphi-Quellcode:
TBoImgDataInfoHeader = Record
iIdent: LongWord;
iDataOffset: LongWord;
sDataCode: TBoImgCode; // ??? Deklaration fehlt!
sFlags: LongWord; // Bit 0: fFlipVert; Bit 1: fFlipHori
aStamp: Array[0..63] of LongWord;
End;
PBoImgDataInfoHeader = ^TBoImgDataInfoHeader;
2. Möglichkeit mit Set Of, dabei weiss ich nicht, ob der Set sich hier auch auf 32 Bit breit macht oder vllt. kleiner ist, was fatal wäre...
Delphi-Quellcode:
TBoImgDataFlipped = Set Of ( dfVertical, dfHorizontal );
TBoImgDataInfoHeader = Record
iIdent: LongWord;
iDataOffset: LongWord;
sDataCode: TBoImgCode; // ??? Deklaration fehlt!
sFlags: TBoImgDataFlipped;
aStamp: Array[0..63] of LongWord;
End;
PBoImgDataInfoHeader = ^TBoImgDataInfoHeader;
/EDIT: Und das nachfolgende korrigiert:
Delphi-Quellcode:
Var
pBuffer: PByte;
...
pBuffer := GetMem(iSizeOfBufferToSupply);
Try
FillChar(ImgInfo, SizeOf(ImgInfo), 0);// memset
fReturn := FX_GetImageData( iLabel, @ImgInfo, pBuffer, iSizeOfBufferToSupply );
Finally
FreeMem(pBuffer);
End;