{$push} and {$pop} doesn't work
on current trunk [12/02/2024] this works:
{$push}
{$packrecords 4}
MIDIPacket = record
timeStamp: MIDITimeStamp;
length: UInt16;
data: packed array [0..255] of Byte;
end;
MIDIPacketPtr = ^MIDIPacket;
{$packrecords 4}
MIDIPacketList = record
numPackets: UInt32;
packet: array [0..0] of MIDIPacket;
end;
{$pop}
This not:
{$push}
{$packrecords 4}
MIDIPacket = record
timeStamp: MIDITimeStamp;
length: UInt16;
data: packed array [0..255] of Byte;
end;
MIDIPacketPtr = ^MIDIPacket;
{$pop}
{$push}
{$packrecords 4}
MIDIPacketList = record
numPackets: UInt32;
packet: array [0..0] of MIDIPacket;
end;
{$pop}
on a trunk build on a half year ago, everything worked well.
this can affect other structures as well! I think this is critical!
See: forum