Hmm..
Wenn ich dass richtig sehe, sind die Array Definitionen falsch!
Richtig müsste es so sein:
(Oben das Original)
Delphi-Quellcode:
{
MAX_PATH = 260;
TYPE STChannel
ID AS LONG
streamName AS ASCIIZ * %MAX_PATH
freq AS SINGLE
volume AS SINGLE
pan AS SINGLE
mute AS BYTE
solo AS BYTE
duration AS LONG
percent AS LONG
grouplevel AS SINGLE
led AS BYTE
rMeterValue AS SINGLE
reserved AS ASCIIZ * 25 '// Total 320 bytes.
END TYPE
}
type
TSTChannel = packed record
ID : LONGINT;
streamName : Array [0..MAX_PATH-1] of AnsiChar;
freq : single;
volume : single;
pan : single;
mute : BYTE;
solo : BYTE;
duration : LONGINT;
percent : LONGINT;
grouplevel : single;
led : BYTE;
rMeterValue : single;
reserved : Array [0..24] of AnsiChar;
end;
So kommt auch die Länge von 320 Bytes hin...
Ein C-Array von 25er Länge ist in Delphi ein Array von 0..24 !
(Erstellt mit D6)