А ты как его получаешь?
Вообще - пишется струтура, делается на нее указатель, потом этот указатель "накладывается" на область памяти с данными.
Код:
type
TUDPPacket = record
FLAG : Byte;
PROTOCOL : Byte;
ADDRESS : Word;
LENGTH : Word;
CRC16 : Word;
CDATA : Array [] Of Byte;
end;
PUDPPacket = ^TUDPPacket;
...
var
Packet : Pointer;
UDPPacket : PUDPPacket;
begin
Packet := GetPacket(); // типа получили данные
UDPPacket := PUDPPacket(Packet);
ShowMessage('Protocol : ' + IntToStr(UDPPacket^.PROTOCOL));
end;
PS. не уверен с полем CDATA. Надо смотреть подробнее.