{$IFDEF INTERFACE} TGAddrChannel = class type {$IF TGAddrChannelWidth>=8} TRead8 = function (Address: TGAddrChannelAddress): Byte of object; TWrite8 = procedure (Address: TGAddrChannelAddress; Data: Byte) of object; {$ENDIF} {$IF TGAddrChannelWidth>=16} TRead16 = function (Address: TGAddrChannelAddress): Word of object; TWrite16 = procedure (Address: TGAddrChannelAddress; Data: Word) of object; {$ENDIF} {$IF TGAddrChannelWidth>=32} TRead32 = function (Address: TGAddrChannelAddress): DWord of object; TWrite32 = procedure (Address: TGAddrChannelAddress; Data: DWord) of object; {$ENDIF} {$IF TGAddrChannelWidth>=64} TRead64 = function (Address: TGAddrChannelAddress): QWord of object; TWrite64 = procedure (Address: TGAddrChannelAddress; Data: QWord) of object; {$ENDIF} var {$IF TGAddrChannelWidth>=8} Read8: TRead8; Write8: TWrite8; {$ENDIF} {$IF TGAddrChannelWidth>=16} Read16: TRead16; Write16: TWrite16; {$ENDIF} {$IF TGAddrChannelWidth>=32} Read32: TRead32; Write32: TWrite32; {$ENDIF} {$IF TGAddrChannelWidth>=64} Read64: TRead64; Write64: TWrite64; {$ENDIF} end; {$UNDEF INTERFACE} {$ENDIF}